Ruby On Rails,客户端验证,不适用于form_tag

时间:2013-06-05 11:55:16

标签: ruby-on-rails form-for client-side-validation

我的客户端验证无论如何都无法正常工作。

我的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,验证是有效的,但我需要在form_tag中使用它,因为我想在what_to_do操作中捕获该组的名称。
我该怎么办?

1 个答案:

答案 0 :(得分:1)

你为什么不用

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

总是鼓励将form_for用于此类任务