没有主键的链接表的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中讨论过,但为了这个问题的目的,我们假设我想离开我的数据库模式。

+0

也许使用`to_param`? – Zabba 2011-01-31 12:11:00

这是正确的方法。

您应该添加的唯一东西是在resourcesbuggable_links中添加了validate函数作为get方法。