我正在尝试一个ror教程,我遇到了以下代码行: index.html.erb: %= render :partial = @players % _player.html.erb: % div_for player do %%= player.FNAME % %= player.SURNAME %% end % players_controller.rb: def index @player
index.html.erb:
<%= render :partial => @players %>
_player.html.erb:
<% div_for player do %> <%= player.FNAME %> <%= player.SURNAME %> <% end %>
players_controller.rb:
def index @players = Player.all(:order => "FNAME") respond_to do |format| format.html end end
我想修改index.html.erb,这样就不需要部分但是它无法正常工作.
请参阅下面的代码.
index.html.erb:
<% div_for @players do %> <%= @player.FNAME %> <%= @player.SURNAME %> <% end %>
玩家#index中的NoMethodError
这是您的代码的直接翻译:<% @players.each do |player| %> <% div_for player do %> <%= player.FNAME %> <%= player.SURNAME %> <% end %> <% end %>
渲染:部分给定一个集合(@players this case)将逐个遍历集合并为您渲染部分.
但渲染集合也会为您提供计数器和间隔模板.