【发布时间】:2014-02-03 23:07:19
【问题描述】:
我正在尝试通过视图模板显示用户的全名。
<%= @status.user.full_name %>
以上代码将给出未定义的局部变量或方法“first_name”。 我已经通过设计 gem 生成的 user.rb 模型设置了这样的“full_name”方法。
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name,
:last_name, :profile_name
has_many :statuses
def full_name
first_name + " " + last_name
end
end
最后,first_name 和 last_name 是通过设计迁移文件定义的。
class DeviseCreateUsers < ActiveRecord::Migration
def change
create_table(:users) do |t|
t.string :first_name
t.string :last_name
t.string :profile_name
我的猜测是 attr_accessible 会导致设计错误。需要你的帮助! 谢谢!
【问题讨论】:
-
你的日志是怎么说的?
-
确保 rake db:migrate 并重启服务器
标签: ruby-on-rails ruby devise