我想使用一些現有的記錄在我的mysql數據庫中創建一些記錄。我使用的軌道4.2從軌道中的另一個對象創建一個對象
這是在我的控制器的relevat代碼:
linkconfig_id = 17
new_config = Linkconfigdetail.where(:linkconfig_id => user_params[:linkconfig_id])
new_config.each do |config|
config[:linkconfig_id] = linkconfig_id
config[:id] = nil
config[:created_at] = nil
config[:updated_at] = nil
end
Linkconfigdetail.create(new_config)
的NEW_CONFIG變量包含Linkconfigdetail模型的幾個數據集。我想稍微改變它們,然後將它們保存爲新的,但我得到的錯誤信息:
ArgumentError (When assigning attributes, you must pass a hash as an argument.):
和create-method的行。
我已經檢查過。 new_config-array不是零。它看起來像這樣,以前創建(使用檢查):
#<ActiveRecord::Relation [#<Linkconfigdetail id: nil, linkconfig_id: 17, link_id: 1, location: 0, created_at: nil, updated_at: nil>, #<Linkconfigdetail id: nil, linkconfig_id: 17, link_id: 18, location: 1, created_at: nil, updated_at: nil>, #<Linkconfigdetail id: ...
我欣賞每一個暗示,或任何其他辦法解決這個問題一般。我無法想象,這是如此困難。即使更改數據集,我也有很多問題。許多方法,如刪除沒有工作,但我終於找不到解決此問題的方法。
有一個小錯字:它是「linkconfig_id」而不是「link_config_id」。但除此之外,它像一個魅力。非常感謝,你爲我節省了很多時間。 –
不客氣 – cefigueiredo