0

这有点初学者的问题,但不幸的是我无法找出解决方案,因此在 SO 上提问。

我有两个模型:NameNameProfile.

Name: 只有name属性

NameProfile:name_id, email属性。

list of emails现在,我想打印/names/show.html.erb

名称控制器.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您没有做的一件事是找到特定的user. 你应该重构为这样的东西:

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

现在您有了对您的用户及其名称配置文件关联的引用。

在您看来:

<%= @nameprofile.email %>

这应该能够为您提供用户的电子邮件。

于 2013-06-14T15:54:56.587 回答