Ruby on rails 在Rails中使用js进行响应

Ruby on rails 在Rails中使用js进行响应,ruby-on-rails,link-to,Ruby On Rails,Link To,我们有一个发送ajax帖子的链接,想知道是否有办法更改发送标签的内容 我们基本上希望更新数据库,然后将链接中的图标更改为block <%= link_to add_favorite_path({type: type, id: id}), type:"button", disable_with: '...', :method => :post, :remote => true, class: 'btn btn-default btn-sm', id:

我们有一个发送ajax帖子的链接,想知道是否有办法更改发送标签的内容

我们基本上希望更新数据库,然后将链接中的图标更改为block

 <%= link_to add_favorite_path({type: type, id: id}), 
      type:"button", disable_with: '...', :method => :post, 
      :remote => true, class: 'btn btn-default btn-sm', id: "#{type}-#{id}" do %>
      <i class="fa fa-plus"></i>
<% end %>
:post,
:remote=>true,类:'btn btn default btn sm',id:“#{type}-#{id}”do%>
以下是最受欢迎的控制器:

class FavoritesController < ApplicationController
    respond_to :js

    def add
        @type = params[:type]
        @id     = params[:id]
        @selector = "#{@type}-#{@id}"    
    end
end
class-FavoritesController
编辑:add.js.erb:

var link = $("a#<%= @selector %>");
link.html('<i class="fa fa-check"></i>');
var link=$(“a#”);
html(“”);
找到解决方案:
使用
禁用时无法更改项目html:
选项。删除了它,它就可以工作了。

您只需确保相应的控制器响应到JS即可

respond_to :js, :html
然后创建视图文件
add.js.erb
,添加适当的js以呈现新图标。 我希望看到更多的代码,但类似这样的东西

$("#id_of_link").html("<i class='fa fa-check'></i>");
$(“链接的id”).html(“”);

虽然我通常创建partials和escape_javascript来在JS中呈现新的partials

谢谢你的帮助,我更新了代码,但是链接不会更新。没有控制台错误,有什么建议吗?当你点击链接时,你能告诉我你的日志是怎么写的吗??(为了澄清,通过命令行或日志文件启动服务器的位置)