控制器文件drummer.rb
我使用旧的控制器/动作方式和新的资源方式,要么工作 视图文件index.html.erb:
<ul>
<% @drummer_list.each do |d| %>
<li>
<%= link_to :controller => 'drummers',:action => 'show', :id => '@drummer' do %>
<%= d.first_name + ' ' + d.last_name %>
<% end %>
</li>
<% end %>
</ul>
资源方式:
<ul>
<% @drummer_list.each do |d| %>
<li>
<%= link_to drummers_path(@drummer) do %>
<%= d.first_name + ' ' + d.last_name %>
<% end %>
</li>
<% end %>
</ul>
当我点击每个链接时,在浏览器网址栏中给我这个
http://localhost:3000/drummers/@drummer
它应该给我
http://localhost:3000/drummers/1
我认为问题是关于@drummer,我不确定它。
答案 0 :(得分:1)
我想也许你想使用“d”代替“@drummer”,因为这是鼓手实例的循环变量?
答案 1 :(得分:1)
<ul>
<% @drummer_list.each do |d| %>
<li>
<%= link_to "#{d.first_name} #{d.last_name}", d %>
</li>
<% end %>
</ul>
如果它变得更复杂,我会把它移到一个集合部分。
答案 2 :(得分:1)
这应该这样做:)
<ul>
<% @drummer_list.each do |d| %>
<li>
<%= link_to "#{d.first_name} #{d.last_name}", drummers_path(d) %>
</li>
<% end %>
</ul>