2016-07-12 11 views
1

ビュー/ _form.html.erb格納するためのデータはどのようにレール5つの

Extra fee field name : <%= text_field_tag :extra_fee_field,nil, placeholder: 'Enter field name',name: "payment_plan[payment_fees[extra_fee_field]][]" %>fees 
Extra fee value : <%= text_field_tag :extra_fee_value,nil, placeholder: 'Enter fee value in %',name: "payment_plan[payment_fees[extra_fee_value]][]" %> % 
<%= submit_tag "Add",id: "add" %> 

コントローラ/ payment_plan_controller.rb

def create 
@payment_plan = PaymentPlan.new(payment_plan_params) 
@payment_plan.save 

エンド

private 
def payment_plan_params 
    params.require(:payment_plan).permit(:pay_within_days,:display_active, 
    :payment_fees=>[:extra_fee_field=>[],:extra_fee_value=>[]]) 
end 

モデル/ payment_plan.rb

以下の形式で

データストア: -

payment_fees:{ "extra_fee_field" => "[\" serfere \ "\ "sfsdfdff \"]"、 "extra_fee_value" => "[\" 5 \ "、\" 7 \ "]"}、display_active:false、created_at: "2016-07-12 06:41:48"、updated_at: "2016-07-12 06:41:48">

ください助けて。事前に 感謝.. :)

答えて

0

自分のベストを試みた後、私は上記のすべてのコードが正しい解決策は、ちょうど私がhstoreのデータ型のデータを格納することができます。この後、コントローラ

@extra_fee_field = params[:payment_plan][:payment_fees][:extra_fee_field] 
@extra_fee_value = params[:payment_plan][:payment_fees][:extra_fee_value] 
@payment_plan[:payment_fees] = @extra_fee_field.zip(@extra_fee_value).to_h 

の方法を中に変更取得

関連する問題