Как использовать пользовательскую форму входа (html / css / JS) в rails вместо simple_form?

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я работаю над новым проектом Ruby on Rails и хочу использовать красивую форму входа и регистрации вместо скучной simple_form.Как я могу использовать пользовательскую форму входа (html / css / JS) в rails вместо simple_form? Вот мой новый код файла httmlerb.

 <div class="container">
  <div class="row justify-content-center">
    <div class="col-12 col-sm-4">
      <div class="form-login">
        <%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
          <div class="form-inputs">
            <%= f.input :email,
                        required: false,
                        autofocus: true,
                        placeholder: "Insert your email address",
                        input_html: { autocomplete: "email" } %>
            <%= f.input :password,
                        required: false,
                        placeholder: "Insert your password",
                        input_html: { autocomplete: "current-password" } %>
            <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
          </div>

          <div class="form-actions">
            <%= f.button :submit, "Log In", class: 'submit-button' %>
          </div>
        <% end %>
        <%= link_to "Forgot your password?", new_user_password_path %>
        <p> --- or --- </p>
        <div class="button-align">
        <%= link_to 'Sign Up', new_user_registration_path, class: 'button' %>
        </div>
      </div>
    </div>
  </div>
</div>
 

Фактическая форма входа и регистрации, которую я хочу использовать.Итак, мой вопрос в том, как я могу подключить путь входа и регистрации в приведенном ниже коде, который я хочу использовать, без простой формы?

   <center>
  <div class="container1" id="container1">
    <div class="form-container1 sign-up-container1">
      <form action="#">
        <h1>Create Account</h1>
        <div class="social-container1">
          <a href="#" class="social"><i class="fab fa-facebook-f"></i></a>
          <a href="#" class="social"><i class="fab fa-google-plus-g"></i></a>
          <a href="#" class="social"><i class="fab fa-linkedin-in"></i></a>
        </div>
        <span>or use your email for registration</span>
        <input type="text" placeholder="Name" />
        <input type="email" placeholder="Email" />
        <input type="password" placeholder="Password" />
        <button>Sign Up</button>
      </form>
    </div>
    <div class="form-container1 sign-in-container1">
      <form action="#">
        <h1>Sign in</h1>
        <div class="social-container1">
          <a href="#" class="social"><i class="fab fa-facebook-f"></i></a>
          <a href="#" class="social"><i class="fab fa-google-plus-g"></i></a>
          <a href="#" class="social"><i class="fab fa-linkedin-in"></i></a>
        </div>
        <span>or use your account</span>
        <input type="email" placeholder="Email" />
        <input type="password" placeholder="Password" />
        <%# <a href="#">Forgot your password?</a> %>
        <%= link_to "Forgot your password?", new_user_password_path %>

        <button>Sign In</button>
      </form>
    </div>
    <div class="overlay-container1">
      <div class="overlay">
        <div class="overlay-panel overlay-left">
          <h1>Welcome Back!</h1>
          <p>To keep connected with us please login with your personal info</p>
          <button class="ghost" id="signIn">Sign In</button>
        </div>
        <div class="overlay-panel overlay-right">
          <h1>Hello, Friend!</h1>
          <p>Enter your personal details and start journey with us</p>
          <button class="ghost" id="signUp">Sign Up</button>
        </div>
      </div>
    </div>
  </div>

  <footer>
    <p>
      Created with <i class="fa fa-heart"></i> by
      <a target="_blank" href="https://florin-pop.com">Florin Pop</a>
      - Read how I created this and how you can join the challenge
      <a target="_blank" href="https://www.florin-pop.com/blog/2019/03/double-slider-sign-in-up-form/">here</a>.
    </p>
  </footer>
</center>
<script>
  const signUpButton = document.getElementById('signUp');
  const signInButton = document.getElementById('signIn');
  const container1 = document.getElementById('container1');

  signUpButton.addEventListener('click', () => {
    container1.classList.add("right-panel-active");
  });

  signInButton.addEventListener('click', () => {
    container1.classList.remove("right-panel-active");
  });
</script>
 

Комментарии:

1. simple_form не скучно :). Вы можете настроить все, что захотите, input_html: { class: 'your_class_name' } и сделать так, чтобы это выглядело так, как вам нравится. Если вам это не нравится, взгляните на apidock.com/rails/ActionView/Helpers/FormHelper/form_for , но в конечном итоге вы получите то же самое.