除了 id 之外,我如何说服 rails 在 url 中使用记录属性?
例如,考虑一个Publication
具有属性的类pub_date
,最好有一个类似的 url
/publications/#{pub_date.year}/#{id}
虽然我可以to_param
用来更改“id”部分,但我似乎记得生成一个带有“/”的参数是一个坏主意。所以使用类似的东西
def to_param
"#{pub_data.year}/#{super}"
end
似乎不可行。此外,使用其他 URL 模板似乎是不可能的,例如,如果我想在 url 的另一部分使用该属性,例如:
/#{pub_date.year}/publications/#{id}
我可以定义匹配的路线,例如
match "/xxx/:foo/:bar" => "ctrlr#act"
但我不确定如何使用自动生成的_url
and助手。_path