Как вы можете назначить объект события идентификатору события в этом примере? - PullRequest
0 голосов
/ 08 октября 2009

Я не знаю, является ли это вопросом Ruby или вопросом Rails, но в этом примере использования вложенных ресурсов в Rails, как можно назначить объект события для event_id? Кажется, что объект события представляет больший набор значений, чем event_id.

<%= link_to 'Tickets', event_tickets_path(:event_id => @event) %>

Ответы [ 3 ]

2 голосов
/ 08 октября 2009

Должен работать следующий синтаксис:

event_tickets_path(@event)
1 голос
/ 08 октября 2009

Это удобство, встроенное в Rails. За кулисами выяснится, что вы действительно хотите получить идентификатор. См. Документацию для link_to . Вот один из примеров:

link_to "Profile", :controller => "profiles", :action => "show", :id => @profile
# => <a href="/profiles/show/1">Profile</a>

Обратите внимание, что здесь делается нечто подобное, и что полученный href использует идентификатор.

0 голосов
/ 10 октября 2009

В этом контексте Rails вызывает @ event.to_param и возвращает атрибут id - to_param делает это по умолчанию. Вы можете переопределить метод to_param в модели событий, чтобы он возвращал что-то отличное от идентификатора.

Это на самом деле не назначение объекта события event_id, это назначение event.id.

...