工作,我有這樣的方法:導軌設計sign_in不會對重定向
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
if params[:mypmnode]
session[:return_to] = projects_pmnode_path(params[:mypmnode])
sign_in(@user)
end
format.html { redirect_to(session[:return_to], :notice => 'User was successfully updated.') }
format.xml { head :ok }
else
@create_company = true if params[:user][:company_id].blank? and params[:user][:company_attributes].length > 0
@create_department = true if params[:user][:department_id].blank? and params[:user][:department_attributes].length > 0
format.html { render :action => "edit" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
的想法是,如果用戶更新,他會自動登入和重定向到需要身份驗證的頁面。
在這個頁面中,我有:before_filter:authenticate_user!
這對重定向不起作用。
如果我然後轉到另一個使用此sign_in函數的頁面,則用戶將正確登錄。
任何想法爲什麼重定向不起作用?謝謝!
UPDATE:
,以使其更清晰,我插入第二個頁面代碼(控制器):
class PmnodesController < Projects::BaseController
before_filter authenticate_user!
def index
@pmnodes = Pmnode.all
respond_to do |format|
format.html
end
end
你的意思是用戶在更新屬性後應該重定向到login(sign_in)頁面? –
不,我試圖讓他自動登錄,然後將他重定向到私人頁面,而無需手動登錄。 – ndemoreau