Ruby on rails 无法在Ruby on Rails中将params[:fields]散列传递给控制器方法
我的表格是这样的Ruby on rails 无法在Ruby on Rails中将params[:fields]散列传递给控制器方法,ruby-on-rails,ruby-on-rails-3,forms,routes,params,Ruby On Rails,Ruby On Rails 3,Forms,Routes,Params,我的表格是这样的 routes.rb ----------- resources :mail_settings the _form.html.erb --------- “btn大型btn成功”%> 但是我可以访问像params[:name]这样的单个参数,没有任何问题,为什么在我尝试params[:mail\u setting]时它不工作?你的意思是为什么它是params[:name]而不是params[:mail\u setting][:name]?如果是这样,原因是您使用的是表单标记
routes.rb
-----------
resources :mail_settings
the _form.html.erb
---------
“btn大型btn成功”%>
但是我可以访问像params[:name]这样的单个参数,没有任何问题,为什么在我尝试params[:mail\u setting]时它不工作?你的意思是为什么它是
params[:name]
而不是params[:mail\u setting][:name]
?如果是这样,原因是您使用的是表单标记
,而不仅仅是表单
,以及*u标记帮助程序家族[即文本字段标记]。在这种情况下,您不需要将表单“绑定”到模型-通常,表单标签比表单灵活得多。但是,您应该能够执行以下操作
the _form.html.erb
---------
<%= form_tag '/mail_settings' do %>
<div class="fieldBlock">
<%= label_tag :name %> <%= text_field_tag :name%> </div>
<div class="fieldBlock">
<%= label_tag :id%> <%= text_field_tag :id%> </div>
<div class="actions fieldBlock">
<%= submit_tag "Update Settings ", :class => "btn-large btn-success" %>
</div>
<% end %>
您将获得params[:mail_setting][:name]
希望我猜到你在问什么
<%= text_field_tag "mail_setting[name]"%>