Ссылка_на
Во-первых, вам не следует пытаться заполнить «голый» <a>
вашей рубиновой переменной — вам нужно использовать <%= link_to %>
помощник:
<%= link_to photo.title, photo_path(photo) %>
Проблема заключается в вашей области, особенно если учесть, что эта область используется для определения переменной. Я считаю, что проблема в том, что, поскольку Rails ожидает переменную из этой области, он не сможет обработать ни одну из ссылок, не имея ее.
Простой способ устранить эту ошибку, как указано в комментариях, состоит в том, чтобы заполнить маршрут обоими значениями:
<%= link_to photo.title, photo_path(profile_name, photo) %> #-> photo & profile_name need to be declared
Вам нужно найти рейк-маршруты, чтобы это сработало.
Дружественный_ID
Если вы хотите заполнить значения friendly_id
slug
для этого маршрута, вам нужно сделать две вещи:
- Передайте значение
profile_name
как "slug" (не ID)
- Передайте сам объект
photo
Я заметил в комментариях, что Tiago Farias
опубликовал для вас возможное решение. Если вы хотите, чтобы это работало с friendly_id
, вам нужно передать объект photo
без определения атрибута id
(это позволит friendly_id
творить чудеса)
Следующее, что вам нужно учитывать, это то, что, поскольку :profile_name
не привязан ни к какому «ресурсу» (контроллеру/модели), friendly_id
не сможет заполнить ожидаемое имя/значение. В этом случае вам нужно установить значение самостоятельно (определив его явно в вашем контроллере)
person
Richard Peck
schedule
14.08.2014
missing required keys: [:id, :profile_name]
- person Igor Martins   schedule 14.08.2014/profilename/photos/5848
, конец - это идентификатор, а не слаг - person Igor Martins   schedule 14.08.2014