开发者

Rails if referrer then do issue

I am trying to figure out the best way to build an if else if statement in the controller around a rails specific referrer. Is there a way to pull the last rails path and use it in the below statement? I think I am close but totally stumped...

This is an update action that will be hit from one form at multiple loc开发者_开发百科ations on the site.

I am looking to replace "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


Is form_path a variable you're defining somewhere else in the controller? Outside of understanding that, it looks like it should work.

Instead of messing with referer, you could place a hidden_field in the form based on where it's coming from, and pull that out of the params hash.

Something like:

hidden_field_tag :location, controller_name

Then in the controller:

if params[:location] == yadda yadda
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜