2012-04-01 61 views
0

我想實現一個系統,爲了跟蹤項目的進度,你可以用各種版本來標記它(比如Stack Overflow上的標記功能。我跟着Rails 3在行動項目Ticketee一書中。)我試圖實現一個異步請求來從票證中刪除一個標籤,但由於某種原因它沒有正確刪除。這裏是我的代碼:Javascript/jQuery不會刪除rails中的元素3項目

routes.html.erb

resources :tickets do 
    resources :comments 
    resources :tags do 
    member do 
     delete :remove 
    end 
    end 
end 

tags_controller.rb

def remove 
@ticket = Ticket.find(params[:ticket_id]) 
if can?(:tag, @ticket.project) || current_user.admin? 
    @tag = Tag.find(params[:id]) 
    @ticket.tags -= [@tag] 
    @ticket.save 
    render :nothing => true 
end 
end 

的意見/標籤/ remove.js.erb

$('#tag-<%= @tag.name.parameterize %>').remove(); 

的意見/標籤/_tag.html.erb

<span class='tag' id='tag-<%= tag.name.parameterize %>'> 
<% if can?(:tag, @ticket.project) || current_user.admin? %> 
<%= link_to "x", 
:remote => true, 
:url => remove_ticket_tag_path(@ticket, tag), 
:method => :delete, 
:html => { :id => "delete-#{tag.name.parameterize}" } %> 
<% end %> 
<%= tag.name %> 
</span> 

當我點擊「x」鏈接時,它會刷新頁面,但並不實際刪除它。任何想法爲什麼?我發佈了我認爲相關的代碼,如果您需要更多,請告訴我。

回答

1

您是否包含rails_ujs? rails_ujs是一個很酷的東西,比如link_to和remote。順便說一句,它的

=的link_to 「X」,網址:遠程=>真正的」

http://guides.rubyonrails.org/getting_started.html#listing-all-posts

+0

謝謝,我改成了那個語法我怎麼去,包括rails_ujs ? – ruevaughn 2012-04-02 00:51:12

+0

我有// =要求jquery_ujs在我的javascripts/application.js文件中 – ruevaughn 2012-04-02 00:56:34

+0

= link_to「x」,url,:remote => true「語法修復了它。非常感謝你 – ruevaughn 2012-04-02 02:13:21