ruby-on-rails - Rails 4 嵌套形式和强参数

标签 ruby-on-rails nested-forms strong-parameters

我无法让 Accepts_nested_attributes_for 在 Rails 4 中使用强参数。这是错误

Processing by CityaddressesController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"Cx9nunLAsHkvo/Z8vKnWFnrub1LpmUgVNdePcQ9VDSQ=", "cityaddress"=>{"st_unit"=>"1", "st_num"=>"1", "st_prefix"=>"E", "name"=>"1", "st_type"=>"ST", "st_postalcode"=>"", "description"=>"", "cityaccount"=>{"name"=>"1", "description"=>"1"}}, "commit"=>"Create Cityaddress"}
  [1m[36mUser Load (0.0ms)[0m  [1mSELECT  `users`.* FROM `users`  WHERE `users`.`id` = 3 LIMIT 1[0m
Unpermitted parameters: cityaccount

这是模型:

class Cityaddress < ActiveRecord::Base
    has_many :cityaccounts
    has_many :license_plates
    accepts_nested_attributes_for :cityaccounts, allow_destroy: true

    def street_address
      return "#{st_unit} #{st_num} #{name} #{st_type} #{st_prefix}"
    end
    def address
      return "#{st_unit}#{st_prefix} #{name} #{st_type} #{st_num} "
    end
end

这是 Controller :

  # GET /cityaddresses/new
  def new
    @cityaddress = Cityaddress.new
    @streets = Street.where("active=1").order("display_order")
    @cityaddress_accounts = @cityaddress.cityaccounts.build
  end

    def cityaddress_params
      params.require(:cityaddress).permit(:st_unit, :st_num, :st_prefix, :name, :st_type, :st_postalcode, :description, cityaccounts_attributes: [:name, :description, :id])
    end 

这是 View :

<%= f.fields_for @cityaddress_accounts do |ff| %>
   <div class="field">
     <%= ff.label :name %>
     <%= ff.text_field :name %><br>
   </div> 
   <div class="field">
     <%= ff.label :description %>
     <%= ff.text_field :description %><br>
   </div>  
<% end %>

我认为这与强参数语法有关?

干杯。

最佳答案

我认为你必须稍微改变一下观点。

尝试改变这个

<%= f.fields_for @cityaddress_accounts do |ff| %>

<%= f.fields_for :cityaccounts do |ff| %>

关于ruby-on-rails - Rails 4 嵌套形式和强参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658974/

相关文章:

javascript - 提交嵌套表单,奇怪的行为

forms - 标准轨道形态+茧 gem : undefined method `new_record?' for nil:NilClass error

ruby-on-rails - 带有设计的嵌套形式

ruby-on-rails - 如何要求和允许多个强参数

ruby-on-rails - (Ruby on Rails) 页面标题以文本/javascript 的形式出现,当它不应该的时候

sql - 外键有什么用?

ruby-on-rails - 在 form_for 字段中使用,该字段不在 object 中

ruby-on-rails - RoR 教程 Michael Hartl 5.27

ruby-on-rails - Strong Params : params. permit 返回 Unpermitted parameters despite whitelist

ruby-on-rails - Rails 4 - 从 protected 属性切换到强参数