没有主键的链接表的Rails路由?
问题描述:
我有一个链接表看起来像这样:没有主键的链接表的Rails路由?
create_table "links", :id => false, :force => true do |t|
t.integer model1_id
t.integer model2_id
t.string someotherinfo
end
我目前确定的路线是这样的:
match '/links/:model1_id/:model2_id/' => buggable_links#validate
好像我应该可以做更多的东西一样resources
而比写出所有的match
陈述。使用rails在没有单个主键的模型上生成资源路径的正确方法是什么?例如,URL包含两个ID?
N.B.我知道一个可能的答案是'只需添加一个自动增量PK'。这个问题的优缺点在this question中讨论过,但为了这个问题的目的,我们假设我想离开我的数据库模式。
答
这是正确的方法。
您应该添加的唯一东西是在resources
的buggable_links
中添加了validate
函数作为get方法。
也许使用`to_param`? – Zabba 2011-01-31 12:11:00