2017-08-27 126 views
-1

我一直在擺弄現在與Rails 5.0許可功能相當長的一段時間,但我無法得到它的權利和真的需要一些幫助:的Rails:白名單嵌套參數/許可的參數/嵌套形式

我有這個白名單功能。而在執行時,我得到如下回應:

不允許的參數:studio_users_attributes

我有這個白名單功能

 
def studio_params 
    params.require(:studio).permit(:name, :name_long, :address, :address2, 
           :zip, :city, :country, :phone, 
           :entity_id, { studio_users_attributes: [] }) 
end 

】這個params方法返回我以下:

{"utf8"=>"✓", "_method"=>"patch", "authenticity_token"=>"VZTPSpsmNJxcqc[...]", 
"studio"=>{"studio_users_attributes"=>{"0"=>{"viewing_rights"=>"Nur eigene", 
"id"=>"4"}, "1"=>{"viewing_rights"=>"Alle", "id"=>"5"}}}, 
"commit"=>"Studio aktualisieren", "controller"=>"studios", 
"action"=>"update", "id"=>"2" 
} 

有些幫助會很高效ciated。

菲利普

+0

您能否使用相關型號代碼和表格代碼更新相關問題? – Pavan

回答

0

經過一番試驗後,我設法解決了這個問題。

對於嵌套參數我不得不把鑰匙明確添加到嵌套哈希:

def studio_params 
params.require(:studio).permit(:name, :name_long, :address, :address2, :zip, 
           :city, :country, :phone, :entity_id, 
           studio_users_attributes: [:id, :viewing_rights]) 

離開散空(studio_users_attributes:[]),仍然會導致

「未經許可的參數:studio_users_attributes「

0

在您使用studio_users_params控制器。

但你發送studio_users_attributes

+0

嗨達尼爾,thx你的第一個答覆。這恰好是我的錯誤。我糾正它,不幸的是仍然無法正常工作。我仍然認爲,錯誤來自沒有正確列出白名單的嵌套參數。 – fydelio

+0

@fydelio沒有錯誤更改? –

+0

不,仍然相同 – fydelio