2017-04-11 5 views
0

を動作させるparams.permitを取得できません:は、私はこれらのparamsでフォームを掲示しています

{"utf8"=>"✓", "authenticity_token"=>"XXXXX", "bike_part_id"=>["367", "368"], 
"commit"=>"registrer en [48/1854] 
"controller"=>"services", "action"=>"create", "bike_id"=>"10"} 

これは、コントローラのコードです:

def create 
    @service = Service.new(service_params) 
    @service.bike = @bike 
    @service.bike_parts = @bike_parts 

    respond_to do |format| 
     if @service.save! 
     #[cut..] 
end 

-

def service_params 
     params.permit(:description, :log, :due_date, :bike_id, 
        :user_id, :completed, :bike_part_id 
        ) 
    end 

しかし、私はログにこれを取得し続ける:

Unpermitted parameters: utf8, authenticity_token, bike_part_id, commit 

bike_part_idが許可されていないのはなぜですか?

+1

フォームコードを投稿できますか? – hoangdd

答えて

0

アレイの場合は、配列が必要な強いパラメーターを指定する必要があります。

def service_params 
     params.permit(:description, :log, :due_date, :bike_id, 
        :user_id, :completed, bike_part_id: [] 
        ) 
end 
1

ネストされているためです。次のコードを試してください:

def service_params 
    params.permit(
    :description, :log, :due_date, :bike_id, user_id, :completed, bike_part_id: [] 
) 
end 
関連する問題