新しいユーザーを作成するときに、ログインを介してユーザのためのセッションを作成することはできません彼は古いRailsバージョンを使用しているため、おそらく私は多くのエラーに遭遇しました。だから問題は、私がログインしようとすると、実際にログインしていない間にユーザーが作成され、セッションも作成され、すべて正常に動作するということです。 ここでは、(コードのこの部分で持っていた多くの問題を気にユーザーがRailsの4:後<a href="https://www.youtube.com/watch?v=Hw6WtWJwRtU" rel="nofollow noreferrer">https://www.youtube.com/watch?v=Hw6WtWJwRtU</a></p> <p>:セッションが作成されるが、私はこのチュートリアル、次のセッションでは非常に基本的なログを作成してい
<!DOCTYPE html>
<html>
<head>
<title>Fitit</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<% if current_user %>
<p>
Logges in as <%= current_user.username %>
<%= link_to "Log out", logout_path %>
</p>
<% else %>
<%= link_to "Sign Up", signup_path %>
<%#= link_to "Set Profile", profile_path %>
<%= link_to "Log In", login_path %>
<% end %>
<%= yield %>
</body>
</html>
にログインしている場合は、新しいセッションを作成するためのビューがあります示して自分のアプリケーションのレイアウトです:<%#= form_tag session_path DO%が> - 家庭教師に使用し、それがためにエラーが発生し、尋ねる:私はそこにほとんど何を渡そうとしましたID、
<h1>Log In</h1>
<%#= form_tag session_path do %>
<%= form_tag({controller: "sessions", action: "create"}, method: "get") do %>
<div class="field">
<%= label_tag :username %><br/>
<%= text_field_tag :username, params[:username] %><br/>
</div>
<div class="field">
<%= label_tag :password %><br/>
<%= password_field_tag :password %><br/>
</div>
<div class="actions">
<%= submit_tag "Log In" %>
</div>
<% end %>
を次にここに私のセッションコントローラ
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by_username(params[:username])
respond_to do |format|
if user && user.authenticate(params[:password])
session[:user_id] = user.id
format.html { redirect_to :index, notice: 'Logged In successfully' }
format.json { render :index, status: :created, location: @session }
else
flash.now.alert = "Email or password is invalid"
render "new"
end
end
end
def destroy
session[:user_id] = nil
respond_to do |format|
format.html { redirect_to root_path, notice: 'Logged Out successfully' }
format.json { head :no_content }
end
end
end
です
どこに問題があると思いますか?実際にセッションを作成するユーザー・コントローラーからCREATEメソッドを比較するだけです。
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
session[:user_id] = @user.id
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
とルート:
Rails.application.routes.draw do
resources :sessions
resources :foods
resources :users do
resources :entries
end
post "log_in" => "sessions#new", :as => "log_in"
get "logout" => "sessions#destroy", :as => "logout"
get "login" => "sessions#new", :as => "login"
get "signup" => "users#new", :as => "signup"
root :to => 'users#new'
get "app/views/users/profile.html.erb", to: "users#profile", as: "profile"
end
誰も私が間違ってここにやっている任意のアイデアを持っていますか?私はすでに2日目にこの問題に取り組もうとしています。
それは働いて、ありがとう! –