这有些初学者的问题,但不幸的是我无法找出解决方案,因此在SO处提出要求。
我有两个模型: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 %>
但是我得到了未定义的方法错误。任何的想法 ?
答案 0 :(得分: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了解详情。
答案 1 :(得分:0)
show action
没有做的一件事就是找到特定的user
。你应该重构这样的事情:
def show
@name = Name.find(params[:id])
@nameprofile = @name.nameprofiles
end
现在您可以引用您的用户及其nameprofile协会。
在您的观看中:
<%= @nameprofile.email %>
这应该能够为您提供用户的电子邮件。