Rails 新手,我已阅读关联手册并试图找到为什么我的关联不起作用的答案。
我选择将 Profile 与用户分开,以便于关联到不同的用户类型和功能——我将为每种类型的用户提供 3-4 个不同的模型。
我有:
使用称为 Temper Dashboard View 的设计配置文件模型的用户模型
如果我试图从仪表板上的 Profile 模型中为当前用户调用信息,如果我正确阅读指南,则下面的代码“应该”工作。
错误是:
enter code hereundefined method `temp_phone_n' for #<User:0x007fbb8c62e4c8>
我看到它正在获取当前用户并尝试关联它但无济于事。谁能告诉我哪里出错了。
以下:
用户.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me,
:first_name, :last_name, :profile_name, :user_id
# attr_accessible :title, :body
has_one :temper
def full_name
first_name + " " + last_name
end
end
脾气.rb
class Temper < ActiveRecord::Base
attr_accessible :first_name, :last_name, :temp_about, :temp_avail, :temp_city, :temp_country, :temp_email, :temp_phone_d, :temp_phone_n, :temp_pors, :temp_skills, :temp_st_address_1, :temp_st_address_2, :user_id
has_one :user
end
仪表板/index.html.erb
<div class="span5">
<ul>
<li><h4>Name:</h4> <%= current_user.full_name %></li>
<li><h4>Phone Number:</h4> <%= current_user.temp_phone_n %></li>
<li><h4>Email:</h4> <%= current_user.email %></li>
<li><h4>City:</h4> Toronto</li>
<li><h4>Member Since:</h4> <%= current_user.created_at.strftime("%B %d, %Y") %></li>
</ul>
</div>
任何援助将不胜感激