将额外的参数锁定到控制器

时间:2016-04-10 05:53:24

标签: ruby-on-rails strong-parameters

我想传递一个模型没有的值

<div class="form-group">
    <%= form_for(@car) do |f| %>
      <%= f.label :name, "Add New Tags:" %>
      <%= f.text_field :name, class: "form-control" %>
      <%= hidden_field_tag :additional_parms, value: 'some_value' %>
      <%= f.submit "Add Car",:id => 'tag_btn', class: "btn btn-primary" %>
    <% end %>
</div>

我使用隐藏字段将值添加到params 但是当我查看日志时,additional_params不在params

1 个答案:

答案 0 :(得分:2)

试试这个:

attr_acessor

请注意,您需要通过class Car < ActiveRecord::Base attr_accessor :additional_params ... 将其添加为模型中的虚拟字段,并将控制器的参数列入白名单:

<强>模型

def car_params
  params.require(:car).permit( ..., :additional_params)
end

<强>控制器:

split