我真的無法繞過Rails 4強大的參數,belongs_to關聯和form_for形式。Rails 4:strong_params,nested_attributes_for和belongs_to關聯問題
想象我有型號爲引用一些價格:
class Quote < ActiveRecord::Base
belongs_to :fee
accepts_nested_attributes_for :fee
現在,我已經播種一些費用到數據庫,並使用fields_for已經把一些單選按鈕在我form_for @quote
。單選按鈕的值只是記錄的ID。
這是令人不安的部分,控制器:
def create
@quote = Quote.new(quote_params)
...
end
def quote_params
params.require(:quote).permit(:amount_from, fee_attributes: [:id])
end
從我的理解,自動的Rails的應該有一些ID取費紀錄,但有一些神祕的錯誤信息。
PARAMS哈希值是:"quote"=>{"amount_from"=>"1200", "fee_attributes"=>{"id"=>"1"}}
日誌結尾:
Completed 404 Not Found in 264ms
ActiveRecord::RecordNotFound (Couldn't find Fee with ID=1 for Quote with ID=)
app/controllers/quotes_controller.rb:14:in `create'
我真的不明白是怎麼回事,看了Rails的協會指導,用Google搜索小時,所有的信息,但徒勞無功。
我想在這裏實現的是理解正確的「Rails方式」,以獲取一些新的Quote對象的關聯使用我已經放在窗體中的一些參數。