使用Rails v2.1,可以说你有一个可以从多个位置访问的控制器的动作。例如,在Rails应用程序中,您有一个链接可以从两个不同的视图编辑用户,一个在用户索引视图中,另一个在另一个视图中(可以从每个页面上的导航栏中进行说明)。有条件重定向的最佳方式?
我想知道什么是最好的方式来重定向用户回到正确的位置,取决于他们点击了什么链接。例如:
例1:
- 名单列表中的
- 用户点击窗体上的“保存”用户的所有用户
- 点击“编辑”,控制器重定向回1 。
实施例2:
- 用户凑ld在应用程序中的任何页面上,导航栏显示编辑当前用户的链接
- 用户单击要编辑的链接
- 用户单击窗体上的“保存”,控制器重定向回任何页面他们在用户点击导航栏中的“编辑”链接时处于打开状态。
我已经看到了它在过去所做的:
- 与原来的控制器/动作,其中的链接出现在原来的编辑联系上放置一个参数。为了让这个更干,你可以在助手中使用@ controller.controller_name和@ controller.action_name。
- 控制器将参数保存到会话变量。
- 一旦控制器保存了记录,它就会重定向到会话变量。
我不特别喜欢这个解决方案是需要将参数添加到视图中的每个适用链接。我想知道是否有办法将这一切都构建到控制器中。我在想
一个更好的办法是:
- 广场上的“编辑”行动拯救引荐一个的before_filter(这是足够可靠?)到会话中。
- 当“更新”命中时,控制器将重定向到会话变量,然后删除会话变量。
有关最佳方式的任何想法?
好的想法,你只是帮助我思考我正在看的一个不同的问题。谢谢! – 2008-09-24 19:33:52