IDに加えて、URLでレコード属性を使用するようにレールを説得するにはどうすればよいですか?
たとえばPublication
、属性を持つクラスを考えてみpub_date
ましょう。次のようなURLがあると便利です。
/publications/#{pub_date.year}/#{id}
「id」の部分を変更するために使用できますto_param
が、「/」を含むパラメータを生成するのは悪い考えだということを覚えているようです。だから
def to_param
"#{pub_data.year}/#{super}"
end
実行不可能のようです。また、他のURLテンプレートでは不可能に思えます。たとえば、URLの別の部分で属性を使用したい場合は、次のようになります。
/#{pub_date.year}/publications/#{id}
一致するルートを定義できます。
match "/xxx/:foo/:bar" => "ctrlr#act"
_url
しかし、自動生成されるヘルパーと_path
ヘルパーをどのように使用できるかわかりません。