如何传递rails中复选框的值

时间:2013-10-22 20:02:41

标签: ruby-on-rails ruby-on-rails-3 haml

我有以下haml代码

%section.form
  %form.standard{action: registration_index_path, method: 'get'}
    %fieldset{"aria-labelledby" => "content-header"}
      %legend 
      %ul
        %li
          %label{for: "Associate-id"} Associate Id
          %input#Associate-id{name: "id", size: "80", type: "text", value: current_user.associate_username}/
        %li
          %label{for: "email"} Email
          %input#email{name: "email", size: "80", type: "text", value: current_user.display_name}/
        %li
          %label{for: "reason"} Reason for Access
          %textarea#reason{cols: "200", name: "description", value: ""} 
        %li
          %label What type of access would you require?
        - Role::ROLES.each do |role| 
          %input#roles{name: "access", type: "checkbox"}/
          %label{for: "roles"} #{role} 
    %fieldset.input-actions
      %legend Actions
      %input.primary-action{name: "invoke", type: "submit", value: "Send"}/
      %input.cancel{name: "invoke", type: "submit", value: "Cancel"}/

这里params [:access]只会给我,如果它打开或不打开。我如何实际获取所选复选框的值? 。 谢谢。

1 个答案:

答案 0 :(得分:2)

您需要使用value设置值。它看起来更像是这样:

%input#roles{name: "access", type: "checkbox", value:"#{role}"}/

然后,对于ROLES AdminVIPuser的{​​{1}}列表,以及一个选中的复选框,params [:access]将返回:

Admin