Rails重定向而不改变URL

4

我有一些 Ruby/Rails 代码。

在控制器中的一个名为 foo 的操作中,我想要重定向到另一个控制器 bar 和它的一个操作 dar。

当我使用 redirect_to 时,地址栏中的 URL 会变成 /bar/dar,但如果我使用 render,则不知道如何渲染另一个控制器的视图。

我正在使用 Rails 2.3.5,所以无法使用 render_component(我发现这对我来说可能非常有用)——因此,如果你有任何替代 render_component 的想法,那将对我有很大帮助。

有什么想法吗?

[如果不清楚,请向我询问细节]


你真的想要重定向,还是只想链接这个操作? - Jeremy
我想要重定向(这意味着我想在另一个控制器中执行操作,然后显示相应的视图)另一个要求是我不想改变浏览器中的URL。 - Manoj Awasthi
在另一个控制器中,你需要发送任何参数吗(例如:id、page)? - Vladimir Tsukanov
3个回答

0

你可以使用 AJAX 调用动作并拉取适当的视图,而不是使用真正的重定向吗?


0

你可以从两个视图中渲染同一个局部视图。每个操作都有一个视图,在每个视图中,你都可以像这样写:<%= render :partial => "partials/form" %>。


0

你可以像调用函数一样调用操作,然后渲染模板。但根据MVC模式,你应该在控制器上管理控制器端逻辑,然后加载适当的视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接