如何设置 Controller#show 布局“确定”按钮,以便在用户通过 new
> create 时它将
行动 link_to root_path
但是
如果用户正在查看现有资源的列表(实际上是索引),然后单击一个资源以查看 Controller #show(详细信息),那么“确定”按钮现在会将它们带回上一页(索引)?
我正在使用 store_location
和 redirect_back_or(default)
辅助方法来处理某些 Controller (包括此 Controller )的 login_required
。这可以用来解决我的上述问题吗?或者,还有更好的方法?
简而言之,我认为该按钮想要link_to“OK”, :back
,除非之前的操作是创建(或登录)操作。
我认为我们不需要涉及 session
,因为链接不需要持续存在。如果它来自索引,这是一回事,如果它来自 create 或 (sign_in),则是另一回事……只是不确定如何做到这一点。
最佳答案
因此,在 new
> create
操作中,用户被重定向到 Controller#Show
。您只需传递一个参数即可。例如,您可以将 redirect_to
修改为如下所示:
<%= redirect_to show_path(:param1 => "true") %>
然后在您的#Show
页面中,您可以检查
<% if !params[:param1].nil? and params[:param1] == true %>
<%= link_to "OK", root_path %>
<% else %>
<%= link_to "OK", :back %>
<% end %>
关于ruby-on-rails - rails : controller#show logic for a link_to root_path or :back,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514077/