【发布时间】:2017-03-13 09:19:13
【问题描述】:
我的视图中有以下循环来显示给定锦标赛中的所有部门。当我尝试复制控制器中的逻辑,然后将变量传递给视图时,我和“未定义的方法”错误。对我做错的任何帮助将不胜感激。
型号
class Tournament < ApplicationRecord
has_and_belongs_to_many :divisions
end
class Division < ApplicationRecord
has_and_belongs_to_many :tournaments
end
工作控制器和视图 控制器
def index
@tournaments = Tournament.all
end
查看
<% tournament.divisions.ids.each do |tdi| %>
<%= Division.find(tdi).name %>
<% end %>
不工作的控制器和视图 控制器
def index
@tournaments = Tournament.all
@tournaments.divisions.ids.each do |tdi|
@divisions = Division.find(tdi).name
end
end
查看
<%= @divisions %>
当我尝试第二个(而且我确信更正确)实现时,我在 index 方法中收到以下行的 "undefined method `divisions'" 错误:
@tournaments.divisions.ids.each do |tdi|
【问题讨论】:
-
@divisions 很可能在每个循环内。范围就在那个循环内
标签: ruby-on-rails model-view-controller methods controller