下面的代码工作正常:回报率3初学者,麻烦路过的ID
<table border="1">
<% @allevents.each do |allevent| %>
<tr>
<td><%= allevent.name %></td>
<td><%= button_to "View", :action => "view", :allevent_id => "0000000000000131"%>
</tr>
<% end %>
</table>
然而,当我换出我传递给ID:
<%= 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'
提前感谢!
我可以发誓我试过这个组合!它的工作,谢谢。 routes.rb是否适合您? – turbo2oh 2012-03-09 16:03:26
您不应该在数据库上下文之外引用'model.id'。正确的方法是'model.to_param',因为有时候这些都是自定义的,以使URL更易于呈现。 – tadman 2012-03-09 16:16:13
是的,我同意,如果我正确地得到了这段代码的意思,我也在循环中使用'@ events'或'@ all_events'来代替'@ allevents'和'event'。 – ecoologic 2012-03-09 16:22:40