【发布时间】:2015-04-12 02:29:17
【问题描述】:
尝试从 Ruby 2.0 / Rails 4.0 升级到 Ruby 2.2 / Rails 4.2,登录我的应用程序时遇到一个令人惊讶的错误(基于 M. Hartl 的 Rails 教程):
Controller: SessionsController#create
Instruction: redirect_to root_url
Error message: wrong number of arguments (2 for 1)
这里是会话控制器:
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by_login(params[:session][:login])
if user && user.authenticate(params[:session][:password])
sign_in user
redirect_to root_url
else
flash.now[:error] = 'Invalid login/password combination'
render 'new'
end
end
def destroy
sign_out
redirect_to root_url
end
end
这里是路由文件:
ODQStairs::Application.routes.draw do
resources :requests
#static pages
get '/help', to: "static_pages#help"
get '/about', to: "static_pages#about"
get '/contact', to: "static_pages#contact"
#root definition
root to: "dashboards#home"
#routes
resources :sessions, only: [:new, :create, :destroy]
get '/signin', to: 'sessions#new' , via: :get
match '/signout', to: 'sessions#destroy', via: :delete
resources :parameters_lists do
resources :parameters
end
...
我在 Rails 升级指南中没有找到任何关于 redirect_to 功能的内容。欢迎您的帮助! 谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4