gpt4 book ai didi

ruby-on-rails - 在使用ajax调用的rails Controller 中渲染部分

转载 作者:行者123 更新时间:2023-12-04 03:39:24 24 4
gpt4 key购买 nike

我有一个 Rails 应用程序,其中我将部分 View 作为局部 View ,并将几个 View 重构为 SPA。我对一项功能有疑问。在一个地方,我在渲染部分时没有像下面这样调用 Controller :

def create
school_service.update_preview
@user = get_user
@result = prepare_result

render 'school/result/show', locals: {
pupil: @user,
result: @result
}
end

我正在使用表单调用此方法。现在我使用 AJAX 从 JS 调用它。是否有可能以相同的方式呈现该 View ?我不想将“学校/结果/节目”重写为 SPA。感谢您的所有回答。

最佳答案

你的问题是我使用表单调用这个方法。现在我使用 AJAX 调用它。是否有可能以相同的方式呈现该 View ?

由于您使用的是 AJAX,我假设您的表单中有一些 remote: true ,例如:

<%= form_for(@user, remote: true) do |f| %>
# your fields
<% end %>

这将带您到 Controller 中的创建操作,您可以在 Controller 中有一个respond_to block 来处理您的js 格式

def create
@user = get_user
@result = prepare_result
respond_to do |format|
format.js {}
end
end

这将允许您在 View 中拥有 create.js.erb 文件,您可以在其中编写 js 来呈现您的部分

$(".your_parent_element_class").html("<%=j render partial: "school/result/show",locals:{pupil: @user, result: @result} %>")

有关更多详细信息,请查看 working with javascript in rails

关于ruby-on-rails - 在使用ajax调用的rails Controller 中渲染部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24464633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com