我在創建數據庫中的新日誌時遇到問題。我最近從一個過時的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來檢查)。然後我刪除了我的數據庫,重寫了遷移,並重新創建了所有內容,現在它工作得很好。 –