2013-10-15 114 views
1

這是在登錄操作中。我試圖調整它來發回一個return_url查詢參數,並且我失敗了一個簡單的渲染。Rails渲染並傳遞查詢參數

前值:

respond_to do |format| 
    format.html { 
     flash.now[:error] = error 
     render 
    } 

嘗試1:

respond_to do |format| 
    format.html { 
     flash.now[:error] = error 
     render return_url => "blah" 
    } 

嘗試2:

respond_to do |format| 
    format.html { 
     flash.now[:error] = error 
     render "login", local => {return_url => "blah"} 
    } 

回答

0

從我的理解。您正試圖將一個return_url傳遞給視圖。對? 所以如果你想,你可以只創建一個包含返回URL 的價值對於前

@return_url = root_path() #or change it to url you want 
#Then follow with the code you written 
#You will see that you can use @return_url in the view without doing anything else. 

如果它不回答你的問題一個實例變量。你能準確嗎?我不太確定我是否正確理解你的問題。

0

我通過params [:redirect_after_error]發生錯誤並解決了它。

respond_to do |format| 
      format.html { 
       flash.now[:error] = error 
       params[:redirect_after_error] = params[:return_url] 
       render 
      } 
0

這種觀點應該有一個實例變量時,其呈現的,所以如果它失敗,你只是渲染到root_path

例如:

@user = XXXX的respond_to做|格式|
if @ user.save format.html {redirect_to @users,notice:'user was successfully created。' }
其他
format.html {渲染root_path,:警告:錯誤}