0

これはやや初心者の質問ですが、残念ながら解決策を見つけることができないため、SOで質​​問しています。

と の 2 つのモデルがNameありNameProfileます。

Name:name属性のみ

NameProfile:name_id, email属性。

今、私は印刷list of emailsしたい/names/show.html.erb

NameController.rb

def show
  @name = name.nameprofiles.email
end

/views/names/show.html.erb

<%= name.email %>

しかし、未定義のメソッドエラーが発生しています。何か案が ?

4

2 に答える 2

0

あなたは次のようなことをしたい

class Name < ActiveRecord::Base
   has_many :nameProfiles
end

class NameProfile < ActiveRecord::Base
   belongs_to :name
end

次に、 name.nameprofiles.email が機能するはずです。詳細については、http: //guides.rubyonrails.org/association_basics.htmlをご覧ください。

于 2013-06-14T15:50:26.127 に答える
0

あなたshow actionがしていないことの 1 つは、特定のuser. 次のようにリファクタリングする必要があります。

def show
      @name = Name.find(params[:id])
      @nameprofile = @name.nameprofiles
    end

これで、ユーザーへの参照とその nameprofile 関連付けができました。

あなたの見解では:

<%= @nameprofile.email %>

これにより、ユーザーの電子メールを取得できるはずです。

于 2013-06-14T15:54:56.587 に答える