2

クライアント側の検証がうまくいきません。

私のhtml.erb:

 <%= form_tag what_to_do_file_path, method: :get do %>
                          <%= submit_tag "Delete selected", :commit =>"delete" %>
                          <%= submit_tag "Pictures/Info/Raw Int", :commit =>"pictures" %>
                          <%= submit_tag "File normalize", :commit =>"pictures" %>

                          <%= form_for Group.new, :validate => true do |f| %>
                             <div class="field_label">
                             <%= f.label :group_name%>:
                             </div>
                             <div class="field">
                             <%=f.text_field :group_name %>
                             </div>
                          <%end%>
         <% @files.each do |file| %>

         <p><td> <%= check_box_tag "files[]", file.id %></td><%= file.file_name %></p>
        <%=end%>
<%=end%>

私のコントローラー:

class Group< ActiveRecord::Base
  include ActiveRecord::Validations
   attr_accessible  :group_name
   validates :group_name,                   
                                     :uniqueness => { :case_sensitive => false}

end

what_to_do アクションは、グループ化したいファイルの ID と params[:commit] をキャッチします。これは、このグループ内のファイルで何をしたいのかを意味します。

ファイル 1、ファイル 2、ファイル 3。これらのファイルをすべて選択し、グループ名「Tripple」を入力して、このグループで何をしたいかを選択します (ファイルの正規化などのいずれか..) (グループの名前はこのグループが既に存在する場合に備えて検証されます。what_to_do で、ファイルの ID、params[commit] およびグループ名をキャッチしたい)

form_tag の外側に form_for を配置すると、検証は機能しますが、グループの名前を what_to_do アクションでキャッチしたいので、form_tag に含める必要があります。
どうすればいいですか?

4

1 に答える 1

1

なんで使わないの

form_for :something, url: what_to_do_file_path, method: :get  

この種のタスクには常に form_for を使用することをお勧めします

于 2013-06-05T12:05:01.660 に答える