我正在关注Michael Hartl的Ruby on Rails教程Book.Running user.name在我的rails控制台中返回:name键而不是“MyName”值。控制台命令是;
require user.rb
=> true
user = User.new(:name =>"Myname", :email=> "email@example.com")
user.name
=>[:name]
user.email
=>[:email]
如上所述,运行user.name或user.email分别返回[:name]和[:email]。可能是什么问题?
class User
attr_accessor :name, :email
def initialize (attributes = {})
@name = [:name]
@email = [:email]
end
def formatted_email
"#{@name} <#{@email}>"
end
end
答案 0 :(得分:4)
你应该:
@name = attributes[:name]
@email = attributes[:email]
在您的User#initialize
方法中。