gpt4 book ai didi

javascript - Ruby on Rails - 调用 html.erb 和 js.erb

转载 作者:行者123 更新时间:2023-11-28 13:09:38 25 4
gpt4 key购买 nike

我的目标是使用相同的 Controller 调用 html.erb 和 js.erb 文件,但它只调用我的 html 文件。
我的 js 没有被调用。
Controller /categories_controller.rb

  def index
respond_to do |format|
format.html
format.js
end
@categories = Category.order('name ASC')
@category = params[:category]
end

查看/类别/index.html.erb

<% @categories.each do |c| %>
<%= link_to c.name, show_category_path(category: c.id), :id => "btn-filter#{c.id}" %>
<% end %>

views/categories/index.js.erb(问题就在这里,这个文件没有被调用)

alert("test");
$("#btn-filter<%=@category%>").attr("class","active");

最佳答案

Controller 以请求要求的格式响应,因此,您的链接要求 HTML,而不是 JS,因此 Controller 以 .html.erb 响应。如果您添加调用,如下所示:

<%= link_to c.name, show_category_path(category: c.id), :id => "btn-filter#{c.id}", remote: true %>

您的请求将要求 JS(因为 remote: true 属性), Controller 将使用 .js.erb 进行响应。

关于javascript - Ruby on Rails - 调用 html.erb 和 js.erb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43559855/

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