如何关联模型并在另一个视图中调用另一个表的字段?

时间:2011-11-09 05:09:15

标签: devise ruby-on-rails-3.1

我正在使用Rails 3.1和Devise。如您所知,Devise使用User表作为自己的表。我创建了另一个名为User_Profile的表,其中存储了用户的配置文件。 User_Profile包含字段user_id,以将其与User相关联。

当特定用户登录时,我想显示他的昵称,该昵称存储在User_Profile中,所以我做的是:

  1. 在用户模型中,我添加了has_one :user_profile

  2. 在User_Profile模型中,我添加了行belongs_to :user

  3. 在“家庭”控制器中,我添加了以下内容:

    before_filter :authenticate_user!
    
    def index
      @users = current_user
    end
    
  4. 我修改了“home / index”视图,如下所示:

    <h1>User</h1>
    <table>
      <tr>
        <th>UserNo</th>
        <th>Nickname</th>
      </tr>
      <tr>
        <td><%= users.id %></td>
        <td><%= users.user_profile.nickname %></td>
      </tr>
    </table>
    <br />
    
  5. 但是当我去example.com/home/时,我收到了一个错误。我认为我的关联部分是正确的,但可能不是控制器和视图部分。我怎样才能使它们正常工作?

0 个答案:

没有答案