我在创建数据库中的新日志时遇到问题。我最近从一个过时的rails版本升级到最新版本,所以我不太确定发生了什么变化。升级后我一直在修复很多错误,但是我很难在这个版本中找到。它抱怨没有工厂的名称属性,但是当我打开我的Schema时,它似乎在那里,所以我不知道该从哪里去。如何使用rails创建数据库记录? - ActiveRecord :: UnknownAttributeError
查看
= form_tag factories_path, :multipart => true do
= label :factory, :name, 'Name'
= text_field :factory, :name
%br
= label :factory, :poolMin, "Pool Min"
= text_field :factory, :poolMin
%br
= label :factory, :poolMax, "Pool Max"
= text_field :factory, :poolMax
%br
= submit_tag 'Create Factories'
控制器
def create
@factory = Factory.new(user_params)
@factory.save
redirect_to factories_path
end
def user_params
params.require(:factory).permit(:name, :poolMin, :poolMax)
end
Schema.rb
create_table "factories", :force => true do |t|
t.datetime "created_at"
t.datetime "updated_at"
t.string "name"
t.integer "poolMin"
t.integer "poolMax"
end
错误:
未知属性 '名' 工厂。 提取的源(左右线#10):
def create
@factory = Factory.new(user_params)
@factory.save
redirect_to factories_path
end
请求
参数:
{"utf8"=>"✓", "authenticity_token"=>"7MXAkLikF6Mm+rXd3YrI8W25i9/Q85Peqv2AWeDRKl3+aZZtWtgiKuh0SSghhMoTHvGYn pnfldduKqd08SkAdw==",
"factory"=>{"name"=>"f",
"poolMin"=>"33",
"poolMax"=>"44"},
"commit"=>"Create Factories"}
你能告诉我们'user_params'的定义吗? – bratsche
可以显示数据库表和存在的字段吗? – locoboy
得到它的工作,我的实际数据库确实不同于我的schema.rb(使用rails db和.schema来检查)。然后我删除了我的数据库,重写了迁移,并重新创建了所有内容,现在它工作得很好。 –