从自定义设计编辑页面重定向

时间:2014-08-28 01:32:24

标签: ruby-on-rails

我正在使用设计用户注册。我设置了自定义修改页面' / info'用作附加注册页面。唯一的问题是,在信息页面上提交编辑后,它会重定向到用户配置文件。我能够将其重定向到主页(我希望在/ info之后),但随后它也会从正常的编辑页面重定向到那里。我不确定如何根据用户所在的页面重定向。

我的一个想法是让用户获得当前路径并使用if语句,但我还没有能够使用它。

registrations_controller.rb:

 def update
 ...
 current_uri = request.env['PATH_INFO']

 if current_uri == '/info'
  redirect_to root_path, notice: "Welcome" 
 else 
  redirect_to user_path(@user)
 end

 end

通常它看起来像这样:

 def update 
 ...
 redirect_to user_path(@user)
 end

1 个答案:

答案 0 :(得分:0)

问题似乎是您需要保留数据以确定重定向的位置。一些想法:

  1. 您可以在用户访问上一页时在会话中存储数据,并在您的操作中检查此数据,以确定重定向用户的位置。会话通常是一个方便的地方,用于存储请求之间一致但不应该持久存储到数据库的内容。
  2. 您可以将数据存储在数据库中(例如,向用户模型添加标记)并选中此选项以确定重定向的位置。
  3. 你可以检查request.referer并根据那里的值重定向。这可能不太可靠。