0

我有以下 form_for - 结构

  <%= form_for Group.new, url: what_to_do_files_path ,method: :get ,:validate => true do |f| %>

  <div class="field">
  <%=f.text_field :group_name, placeholder: "Group Name" %>
  </div>

  <%= button_tag :class => "btn btn-primary", :name => 'submit' do %> Submit <% end %>
  <button type="button" id="check_all"> Check / Uncheck All</button>
   lalalala

  <%end%>

模型:

class Arraygroup < ActiveRecord::Base
  attr_accessible :group_name, :user_id


    no_whitespace=/^[\S]+$/
    validates :group_name, 
                          :format => { :with => no_whitespace} ,    
                          :uniqueness => { :scope=> :user_id,:case_sensitive => false}
    validates_length_of :group_name, :minimum => 3

end

因此,我希望能够对 group_name 和 user_id 的数据库进行客户端验证。

问题是用户只能在文本字段中指定组的名称,然后 user_id 为 0。我想以某种方式自行指定 user_id,例如 <% f.user_id => @user_spec_id%>,@user_spec_id 是预定义的并指向用户的 ID。我的版本当然不起作用。我也尝试过这样的事情, <% user_id => @user_spec_id%>但这是错误的。


提前致谢

4

1 回答 1

0

您正在寻找 hidden_​​field_tag

在您看来,请执行以下操作,

<%= hidden_field_tag #{f.object_name}[user_id], @user_spec_id %>

显然在你的 form_for 中。

当您提交表单时,您会看到,在您的 params["group"] 哈希中,您添加了一个 user_id。

于 2013-07-11T14:11:58.140 回答