2013-01-21 47 views
0

我想將這些行合併成一行。將下一行合併爲一行:

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 

請幫助

回答

1

不,兩種說法都不盡相同。請注意,第二次調用在第一次調用通過一個塊(get '/users/sign_out' => 'devise/sessions#destroy')時傳遞散列,作爲參數device_for,這絕不等同於您的建議。 如果兩個語句可以組合成一個單一的一個就應該是這樣的:

devise_for :users, :controllers => { :sessions => 'users'} do 
    get '/users/sign_out' => 'devise/sessions#destroy' 
end 

但是,這可能有不同的效果(我不知道該怎麼做device_for做),因爲它改變了執行的順序(而不是在一個語句之後執行一個語句,而是同時執行它們。