0

假设我使用这个创建了一个表格 People:

rails new app; cd app; rails g scaffold Person name:string; rake db:migrate

然后尝试使用以下方法设置行的名称:

rails console
Loading development environment (Rails 3.2.3)
1.9.2p318 :001 > @person = Person
=> Person(id: integer, name: string, created_at: datetime, updated_at: datetime) 
1.9.2p318 :002 > @person.name = "test"
NoMethodError: undefined method `name=' for #<Class:0x007f9b8d807098>

为什么最后一行因未定义的方法而失败?

4

1 回答 1

3

@person = Person的字面意思是 @person 是 Person 类。

你应该使用@person = Person.new(). 您现在可以分配属性,因为实例变量是一个新的 Person 对象。

于 2012-04-11T22:07:39.503 回答