Search code examples
ruby-on-railsrubysimple-form

Simple_form :remember_me checkbox in ruby on rails


I have a :remember_me checkbox in the login form on my website. After writing the following code for the checkbox, it appears as a text input, not a checkbox. How would I turn this into a checkbox?

<%= 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 %>

In my User.rb file I have the following methods:

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

Solution

  • simple_form provides a boolean helper (source)
    So you just have to do :

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

    (assuming remember_me returns a boolean attribute)