我有两种模式:
它们之间的关系是:多对多,有一个表映射关系:modulos_perfiles
我需要获得属于“perfil”的所有“模数”..我有这个:
<% @perfiles.each do |perfil| %>
<% @m = perfil.modulo.last %>
<%= @m.ruta %><br/>
<% end %>
但是我收到了这个错误:
未定义方法“ruta”代表nil:NilClass
其中“ruta”是“modulo”表的一列。
我做到了:
<% @perfiles.each do |perfil| %>
<% @m = perfil.modulo.last %>
<%= debug @m %><br/>
<% end %>
我可以看到@m对象的所有属性:
红宝石/对象:模
属性:
但我不明白为什么我不能用以下方法获得这个属性:
<%= @m.ruta %>
有什么想法吗?谢谢!
更新
我的模型类是:
class Perfil < ActiveRecord::Base
has_many :usuario
has_and_belongs_to_many :modulo
end
class Modulo < ActiveRecord::Base
has_and_belongs_to_many :perfiles
end
class ModulosPerfiles < ActiveRecord::Base
end
**
**
我没有足够的声誉来发表答案。
我已经解决了:
我做到了:
<% @perfiles.each do |perfil| %>
<% perfil.modulo.each do |modulo| %>
<%= modulo.ruta %><br/>
<% end %>
<% end %>
所以我可以得到对象的任何属性“modulo”。
感谢。
答案 0 :(得分:0)
<% @perfiles.each do |perfil| %>
<% perfil.modulo.each do |modulo| %>
<%= modulo.ruta %><br/>
<% end %>
<% end %>