1
 routes.rb
-----------
resources :mail_settings

我的表格看起来像这样

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[:name] 这样的单个参数,为什么当我尝试 params[:mail_setting] 时它不起作用?

4

1 回答 1

2

你的意思是为什么它是params[:name]而不是params[:mail_setting][:name]?如果是这样,原因是您使用form_tag的不仅仅是一个form, 和一系列 *_tag 助手[即 text_field_tag ]。在这种情况下,您不会将表单“绑定”到模型 - 通常 form_tag 比表单灵活得多。但是,您应该能够执行类似的操作

<%= text_field_tag "mail_setting[name]"%>

你会得到 params[:mail_setting][:name]

希望我猜到你问的是什么!

于 2012-08-21T06:08:37.917 回答