0

私は2つのモデルを持っています:

  1. パーファイル
  2. モジュロ

そして、それらの間の関係は次のとおりです: 多対多、関係をマップするテーブルがあります: modulos_perfiles

「perfil」に属するすべての「モジュロ」を取得する必要があります..私はこれを持っています:

<% @perfiles.each do |perfil| %>
    <% @m = perfil.modulo.last %>
    <%= @m.ruta %><br/>
<% end %>

しかし、私はこのエラーが発生します:

nil:NilClass の未定義メソッド「ruta」

ここで、「ruta」は「modulo」テーブルの列です。

私はこれを作りました:

<% @perfiles.each do |perfil| %>
    <% @m = perfil.modulo.last %>
    <%= debug @m %><br/>
<% end %>

@m オブジェクトのすべての属性を確認できます。

ruby/object:Modulo

属性:

  • ID: 7
  • 説明: ブスケダス
  • ルタ: /busquedas
  • created_at: 2012-11-25 02:23:51.984916000 Z
  • updated_at: 2012-11-25 02:23:51.984916000 Z

しかし、次の属性を使用してこの属性を取得できない理由がわかりません。

<%= @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 %>

したがって、オブジェクト「モジュロ」の任意の属性を取得できます。

ありがとう。

4

1 に答える 1

0
<% @perfiles.each do |perfil| %>
    <% perfil.modulo.each do |modulo| %>
        <%= modulo.ruta %><br/>
    <% end %>
<% end %>
于 2012-12-07T20:49:07.063 に答える