2017-08-27 83 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