我正在尝试找出在rails特定引用者的控制器中构建if else if语句的最佳方法。有没有办法拉出最后一个rails路径并在下面的语句中使用它?我想我很亲密,但完全难过......
这是一个更新操作,将从网站上多个位置的一个表单中点击。
我希望替换“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 :(得分:0)
form_path是否是您在控制器中的其他位置定义的变量?除了理解之外,它看起来应该有效。
你可以根据它的来源,在表单中放置一个hidden_field,而不是乱搞引用,并将其从params哈希中拉出来。
类似的东西:
hidden_field_tag :location, controller_name
然后在控制器中:
if params[:location] == yadda yadda