2014-02-19 33 views
0

我們有一個link_to發送一個ajax帖子,並且想知道是否有方法來改變發送標籤的內容。在Rails中響應js in

我們基本上想更新數據庫,然後更改link_to塊中的圖標。

<%= 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 %> 

這裏的收藏夾位指示:

class FavoritesController < ApplicationController 
    respond_to :js 

    def add 
     @type = params[:type] 
     @id  = params[:id] 
     @selector = "#{@type}-#{@id}"  
    end 
end 

編輯:add.js.erb:

var link = $("a#<%= @selector %>"); 
link.html('<i class="fa fa-check"></i>'); 

找到解決方法:使用disable_with: 無法改變項目的HTML選項。刪除它,它的工作。

回答

1

您只需確保適當的控制器reponds到JS

respond_to :js, :html 

然後創建視圖文件add.js.erb中添加相應的JS渲染的新圖標。 我希望看到更多的代碼,但這樣的事情

$("#id_of_link").html("<i class='fa fa-check'></i>"); 

雖然,我通常創建泛音和escape_javascript呈現新的部分在JS

+0

感謝您的幫助,我更新的代碼,但鏈接不會更新。沒有控制檯錯誤,有什麼建議? – tmartin314

+0

當你點擊鏈接時,你能告訴我你的日誌說什麼嗎? (闡明通過命令行或日誌文件啓動服務器的位置) –