下面的代碼工作正常:回報率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