ruby-on-rails – 用于#的未定义方法`user_sessions_path’
发布时间:2020-12-17 03:08:38 所属栏目:百科 来源:网络整理
导读:我收到这个错误,这让我感到困扰.我不知道发生了什么……我已按照T的说明进行操作,但仍在抱怨 – 请帮助!我有错误消息,控制器文件,登录页面和路由文件的摘录. 错误信息 NoMethodError in User_sessions#newShowing app/views/user_sessions/new.html.erb whe
我收到这个错误,这让我感到困扰.我不知道发生了什么……我已按照T的说明进行操作,但仍在抱怨 – 请帮助!我有错误消息,控制器文件,登录页面和路由文件的摘录.
错误信息 NoMethodError in User_sessions#new Showing app/views/user_sessions/new.html.erb where line #4 raised: undefined method `user_sessions_path' for #<ActionView::Base:0x1fe766f> 提取的来源(第4行): 应用程序/视图/用户/ login.rhtml 4. <% form_for @user_session do |f| %> 5. <%= f.error_messages %> 控制器/ user_sessions_controller.rb class UserSessionsController < ApplicationController before_filter :require_no_user,:only => [:new,:create] before_filter :require_user,:only => :destroy def new @user_session = UserSession.new end def create @user_session = UserSession.new(params[:user_session]) if @user_session.save flash[:notice] = "Login successful!" redirect_to root_url #redirect_back_or_default account_url else render :action => :new end end def destroy current_user_session.destroy flash[:notice] = "Logout successful!" redirect_to root_url #redirect_back_or_default account_url end end user_sessions / new.html.erb #User Login <% form_for @user_session do |f| %> <%= f.error_messages %> <p> <%= f.label :Email %><br /> <%= f.text_field :email %> </p> <p> <%= f.label :Password %><br /> <%= f.password_field :password %> </p> <p> <%= f.submit "Submit" %> </p> <% end %> routes.rb文件 ActionController::Routing::Routes.draw do |map| map.login "login",:controller => "user_sessions",:action => "new" 我在错误的地方看? 解决方法
问题是你的路线文件.你不是在休息.所以<%form_for @ user_session%>不知道如何创建网址.
将map.resource:user_session添加到routes.rb应该可以解决您的问题. 你应该阅读restful_authentication plugin’s documentation. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |