Как я могу убедить рельсы использовать для него атрибут записи в 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
и _path
, которые были бы созданы автоматически.