如何在 Ruby on Rails 2 中使用 Ajax 和 Jquery 动态更改部分视图

发布于 2024-11-25 16:00:41 字数 565 浏览 2 评论 0原文

我有一个视图,它有一个与部分视图相对应的块(非常简单)。

<td WIDTH ="70%">
  <%= render "partial_1" %>
</td>

现在,当用户单击某个按钮时,我会对控制器进行 Ajax 调用,在完成业务逻辑后,我想返回到相同的视图,但呈现不同的部分视图。

def ajax_call
    ....
    render :layout => "administracion"
end

我尝试将 <%= render "partial_1" %> 更改为 <%= yield %>

并在我的控制器中: render :layout = > “管理”,:部分=> “mypartial”

但是当我这样做时,只有部分被渲染,我原始视图的其他元素都丢失了。

我应该怎么办?

我正在使用 Rails 2.3.9

谢谢!

I have a view that has a block corresponding to a partial view (very simple).

<td WIDTH ="70%">
  <%= render "partial_1" %>
</td>

Now, When the user clicks certain button, I make a Ajax call to my controller, and after my business logic is done, I want to return to the same view but rendering a different partial view.

def ajax_call
    ....
    render :layout => "administracion"
end

I tried changing my <%= render "partial_1" %> for <%= yield %>

and in my controller: render :layout => "administracion", :partial => "mypartial"

but when I do this, only the partial is rendered, the other elements of my original view are lost.

What should I do?

I'm using rails 2.3.9

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一腔孤↑勇 2024-12-02 16:00:41

查看此处的示例

简而言之,您需要创建一个 js.erb 视图并以这种方式包含您的部分内容:

$('#your_container').html('<%=escape_javascript render("your_partial") %>');

Look at the example here.

In a few words, you need to create a js.erb view and include your partial this way:

$('#your_container').html('<%=escape_javascript render("your_partial") %>');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文