Simple_form :remember_me rails ruby 中的复选框

Simple_form :remember_me checkbox in ruby on rails

我网站的登录表单中有一个 :remember_me 复选框。为复选框编写以下代码后,它显示为文本输入,而不是复选框。我如何将其变成复选框?

<%= simple_form_for :session, url: login_path do |f| %>
  <%= f.input :email, placeholder: "Email Address", class: "form-control" %>
  <%= f.input :password, placeholder: "Password", class: "form-control" %>
  <%= f.input :remember_me, inline_label: "Remember me", class: "checkbox inline" %>
  <%= f.button :submit, "log in", class: "btn btn-success btn-block login-bar" %>
<% end %>

在我的 User.rb 文件中,我有以下方法:

def remember
  self.remember_token = User.new_token
  update_attribute(:remember_digest, User.digest(remember_token))
end

def forget
  update_attribute(:remember_digest, nil)
end

simple_form 提供了一个 boolean 助手 (source)
所以你只需要做:

<%= f.input :remember_me, as: :boolean, inline_label: "Remember me", class: "checkbox inline" %>

(假设 remember_me returns 一个布尔属性)