2017-02-19 60 views
0

我在Rails的形式,看起來像這樣的僞代碼:Fields_for與許可屬性

<%= form_for :project do |f| %> 
    <%= f.fields_for :rewards do |r| %> 
    <%= r.text_field :title %> 

我所擁有的一切,除了當我提出我得到一個錯誤的形式工作:Unpermitted parameter: rewards。我的權限應該在Project控制器中看起來像什麼?

回答

1

傳遞嵌套屬性作爲散列選項與允許屬性的數組:

require(:project).permit(
    :foo, :bar, 
    rewards_attributes: [:title] 
) 

這相當於:

require(:project).permit(
    :foo, :bar, 
    { rewards_attributes: [:title] } 
) 
+0

我定義PARAMS如'params.require(:項目)。允許(:user_id,:title,:format,:charge_occurrence,:body,rewards_tiers_attributes:[:min_amount,:body])'但我仍然收到同樣的錯誤:'Unpermitted parameter:rewards_tiers'。我的參數看起來像 參數:{「utf8」=>「✓」,「authenticity_token」=>「...」,「user_id」=>「3」,「project」=> {「title」=>「 Bill's podcast「,」format「=>」pod「,」charge_occurrence「=>」monthly「,」body「=>」body「,」rewards_tiers「=> {」min_amount「=>」$ 1「 =>「Doin stuff」}}}' – Adam12344