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 に答える