Ruby 于 Rails 为什么我无法登录?

Ruby on Rails Why can I not log in?

在我的 Ruby on Rails 应用程序中,我这样做是为了让用户可以注册,但是一旦服务器停止并且我再次加载页面,他们就没有登录(这很好) 但当我单击 "Log In" 时,出现以下错误:

NameError in Sessions#new
Showing C:/Sites/Thor/UnderConstruction/ThorCinema/app/views/sessions/new.html.erb where line #2 raised:

undefined local variable or method `sessions_create_path' for #<#<Class:0x6829bd8>:0x57ce460>

sessions_create_path在views/session/new。html.erb:

<div class="form1"> 
<%= form_tag sessions_create_path, :method => :get do %>
<fieldset>          
        <legend>Please Log In</legend>                  
        <div>                   
            <%= label_tag :name,'Name:' %>
            <%= text_field_tag :name, params[:name] , :autofocus => true %> 
        </div>                  
        <div>                   
            <%= label_tag :password, 'Password:' %>             
            <%= password_field_tag :password, params[:password] %>
        </div>
        <div>                   
            </br>                   
            <%= submit_tag "Login" %>               
        </div>      
    </fieldset> 
<% end %> <!-- form_tag --> 
</br>   
<%= link_to 'Back', :back %>

并且 sessions_controller 创建方法是:

def create
    user = User.find_by name: params[:name]
    if user and user.authenticate params[:password]
        # 'logging in' is performed by saving a user's id in the session variable
        session[:user_id] = user.id

        # redirect to last page or root_path (products/index.html.erb')
        redirect_to root_path
    else
        flash.now.alert = "Invalid user/password"
        render :new
    end
end

登录按钮在应用程序中。html.erb:

<%= link_to "Log In", login_path %>

Routes.rb:

controller :sessions do
    get  'login' => :new
    post 'login' => :create
    get 'logout' => :destroy
end

resources :users


get 'films/index'
get 'categories/index'
get 'certificates/index'

resources :films
resources :categories
resources :certificates
resources :showings
root 'films#index'

post 'films/search', to: 'films#search'

post 'films/display_products_by_genre', :to => 'films#display_products_by_genre'
get 'films/display_products_by_genre', :to => 'films#display_products_by_genre'

post 'films/multi_find', :to => 'films#multi_find'
get 'films/multi_find', :to => 'films#multi_find'

match '*a', to: 'errors#routing', via: [:get, :post] 

谁能告诉我为什么登录不起作用?

尝试使用此注销:<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>

然后点击登录按钮。