我想将这些行合并为一个。
devise_for :users do get '/users/sign_out' => 'devise/sessions#destroy' end
devise_for :users, :controllers => { :sessions => 'users'}
我认为应该是这样的:
devise_for :users do get
'/users/sign_out' => 'devise/sessions#destroy'
:controllers => { :sessions => 'users'}
end
请帮助
答案 0 :(得分:1)
不,这两个陈述不一样。请注意,第二个调用将散列作为device_for
的参数传递,而第一个调用传递一个块(get '/users/sign_out' => 'devise/sessions#destroy'
),这绝不等同于您的建议。
如果这两个语句可以组合成一个语句,那么它应该是:
devise_for :users, :controllers => { :sessions => 'users'} do
get '/users/sign_out' => 'devise/sessions#destroy'
end
但这可能会产生不同的效果(我不确定device_for
做了什么)因为它改变了执行的顺序(而不是在另一个语句同时执行它们之后执行一个语句。