Следующий код работает отлично:RoR начинающие 3, проблемы с проходящими идентификаторами
<table border="1">
<% @allevents.each do |allevent| %>
<tr>
<td><%= allevent.name %></td>
<td><%= button_to "View", :action => "view", :allevent_id => "0000000000000131"%>
</tr>
<% end %>
</table>
Однако, когда я поменять идентификатор я приходящий к:
<%= button_to "View", :action => "view", allevent_id %>
Ее пропускание всухую значения. Любая идея, как я могу ссылаться на это правильно? Кажется, это не похоже на allevent.id, но allevent_id равен нулю? Я тестировал отображение allevent.id в выходном тексте, и он выглядел корректно.
код контроллера для справки:
def index
@allevents = Event.all
end
хотел также, чтобы добавить свой routes.rb код, который, кажется расплывчатым:
match 'event/:action' => 'events#view'
Заранее спасибо!
Я мог бы поклясться, что попробовал эту комбинацию! Это работает, спасибо. Правильно ли подходит route.rb enty? – turbo2oh
Вы не должны ссылаться на 'model.id' вне контекста базы данных. Правильный метод - 'model.to_param', потому что иногда они настроены таким образом, чтобы сделать URL более презентабельными. – tadman
Да, я согласен, я также использую '@ events' или' @ all_events' вместо '@ allevents' и' event' в цикле, если я правильно понял значение этого фрагмента. – ecoologic