diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 310209d..832a5b1 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -10,7 +10,8 @@ class SessionsController < ApplicationController session[:user_id] = @user.id redirect_to @user, notice: t(".logged_in") else - redirect_to root_path, alert: t(".login_fail") + flash.now.alert = t(".login_fail") + render :new end end diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index e3909eb..c7c74a5 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -1,5 +1,5 @@ <% @title = "Log in" %> -<%= form_with url: sessions_path, method: :post do |f| %> +<%= form_with url: sessions_path, method: :post, id: "session_form" do |f| %>

<%= t ".log_in" %>

<%= f.label :username %> diff --git a/app/views/sessions/new.turbo_stream.erb b/app/views/sessions/new.turbo_stream.erb new file mode 100644 index 0000000..1c664a1 --- /dev/null +++ b/app/views/sessions/new.turbo_stream.erb @@ -0,0 +1,18 @@ +<% @title = "Log in" %> +<%= turbo_stream.replace "flash_wrapper" do %> + <%= render "shared/flash" %> +<% end %> + +<%= turbo_stream.replace "session_form" do %> + <%= form_with url: sessions_path, method: :post, id: "session_form" do |f| %> +

<%= t ".log_in" %>

+ + <%= f.label :username %> + <%= f.text_field :username %> + + <%= f.label :password %> + <%= f.password_field :password %> + + <%= f.submit t(".log_in") %> + <% end %> +<% end %>