gpt4 book ai didi

javascript - 如果 Controller 操作结果为零,如何加载不同的 js 文件

转载 作者:行者123 更新时间:2023-11-28 20:14:39 26 4
gpt4 key购买 nike

这是我的 Controller 操作:* Controller /books_controller.rb*

def search_book
@found_book = Book.find_by_token(params[:token_no])

#once found I am rendering my search_book.js.erb file (with UJS)
respond_to do |format|
format.js
end
end

这是我的 js 文件,用于更改 html 内容:views/books/search_book.js.erb

  $("#found_book").html("<%= escape_javascript( render(:partial => "book_view") ) %>");

如果我的书成功找到,则通过 UJS 渲染部分内容。(完成)

假设我的书没有找到,即@found_book.nil?是真的。在这种情况下,我想为我的 div“found_book”渲染另一个部分。如何做到这一点?

最佳答案

请记住,search_book.js.erb 仍然是 erb,因此您可以评估实例变量并使用条件来渲染您选择的部分。

<%- if @found_book.nil? %>
$("#found_book").html("<%= escape_javascript( render(:partial => "no_book_view") ) %>");
<%- else %>
$("#found_book").html("<%= escape_javascript( render(:partial => "book_view") ) %>");
<% end %>

关于javascript - 如果 Controller 操作结果为零,如何加载不同的 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389339/

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