对象的属性保存为nil

时间:2016-09-04 00:13:10

标签: ruby-on-rails ruby forms save

我有一个名为Performers的模型,它有几列(:name,:bio,:email),其中只有名称和电子邮件被验证。当我进入控制台并键入:

p = Performer.new(name: "example", email: "example@example.com")
p.save!

对象将保存到数据库,但所有列值都为nil。控制台中未报告任何错误。这阻止了我的应用程序的一个主要组件工作。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

确保Performer模型没有进行测试验证。

:name => 'SO'name: 'SO'

p = Performer.new(:name => "example", :email => "example@example.com")
#OR
p = Performer.new(name: "example", email: "example@example.com")
p.save!

答案 1 :(得分:0)

我最终通过在embed.rb文件中删除不必要的attr_accessor来解决这个问题。如果您尝试保存到具有冗余attr_accessor的属性,则只会生成nil值。