2011-07-13 25 views
0

我想找出最好的方式來建立一個if else if語句在控制器周圍的軌道具體引用。有沒有辦法拉出最後的路徑,並在下面的語句中使用它?我認爲我很接近但完全陷入困境......Rails如果referrer然後做問題

這是一個更新操作,將從網站上多個位置的一個表單中選中。

我期待,以取代「form_path」

def update 
    @object = Milestone.find(params[:id]) 
    if @milestone.update_attributes(params[:milestone]) 
     if request.referer == form_path 
     redirect_to root_path 
     else 
     redirect_to object2_path 
     end 
    else 
     .... 
    end 
end 

回答

0

是form_path你定義在控制器的其他地方一個變量?除了理解之外,它看起來應該起作用。

而不是混淆引用者,你可以在表單中放置一個hidden_​​field,根據它來自哪裏,並將其從params散列中取出。

喜歡的東西:

hidden_field_tag :location, controller_name 

然後在控制器:

if params[:location] == yadda yadda 
+0

衛生署,這是簡單嘿嘿,謝謝! – jlarry

+0

這樣做的問題是,你仍然可以僞造形式。 – cjibo

相關問題