Я бы хотел вызвать новое действие контроллера для создания нового объекта с использованием существующего для установки значений по умолчанию. До сих пор, что я сделал, чтобы попробовать это:Передача параметров новому действию контроллера в Rails
link_to 'New' new_item_path(t)
В таблице Вайс Сетка где t
является экземпляром item
.
Путь, который генерируется, - /item/new.10
, где 10 - это :id
элемента, который я хотел бы использовать по умолчанию. Я могу получить его через request.referrer
, но мне интересно, есть ли лучший способ для этого?
Так что, я думаю, вопрос заключается в том, чтобы получить идентификатор объекта, который я бледный t для использования в качестве значения по умолчанию для нового действия? – dlu
Является ли он одним и тем же объектом каждый раз или уникальным для конкретного ресурса? Вы всегда можете использовать link_to link_to 'New' new_item_path (: default => id), который будет передавать идентификатор объекта в хеше params, поэтому item/new? Default = id, который является RESTful, предпочтительнее, и вы можете захватить объект по умолчанию в действии вашего контроллера, вызывая @object = Object.find (params [: default]) –
Это уникально. Новый объект будет производным от существующего объекта (он наследует некоторые значения от него), но он также будет иметь поля, которые получают новые значения. Существует не один канонический объект, из которого все они происходят. – dlu