种子的未定义方法`update_attributes'

时间:2013-10-15 08:53:17

标签: ruby-on-rails postgresql

我得到了未定义的方法`update_attributes' for nil:运行seed.rb文件时的NilClass。

这是我的种子档案: -

Category.find_by_name('ATV').update_attribute(:rpp_prefix, 1)

Category.find_by_name('UTV/ATV (side-by-side)').update_attribute(:rpp_prefix, 2)
Category.find_by_name('Boat').update_attribute(:rpp_prefix, 3)

请让我知道此种子文件的解决方案

2 个答案:

答案 0 :(得分:0)

您似乎正在尝试更新不存在的类别的属性。

尝试在更新属性之前在种子文件中创建类别,但我认为最好从一开始就创建具有适当属性的类别。

答案 1 :(得分:0)

尝试find_or_create_by_name,只是为了知道确切的错误是什么:

Category.find_or_create_by_name('ATV').update_attribute(:rpp_prefix, 1)

Category.find_or_create_by_name('UTV/ATV (side-by-side)').update_attribute(:rpp_prefix, 2)
Category.find_or_create_by_name('Boat').update_attribute(:rpp_prefix, 3)

当然你还没有写出错误的类别名称?你也可以试试

Category.find_or_create_by_name('ATV').update_attributes(rpp_prefix: 1)(update_attributes)