2012-04-01 8 views
0

プロジェクトの進捗状況を追跡するために、さまざまなバージョンのタグを付けることができるシステムを実装しようとしています(Stack Overflowのタグ機能など)。私はチケットからタグを削除する非同期要求を実装しようとしていますが、何らかの理由でそれが正しく削除されていません。ここに私のコードは次のとおりです。Javascript/jQueryでレール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のようなクールなものを実行するものです。ところで、その

=のlink_to "X"、URL、:。リモート=> true」を

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

+0

おかげで、私はrails_ujsを含めて約行くにはどうすればよいという構文にそれを変更するを参照してください。 ? – ruevaughn

+0

javascript/application.jsファイルに// jquery_ujsが必要です – ruevaughn

+0

= link_to "x"、url::remote => true "という構文が修正されました。どうもありがとうございました – ruevaughn

関連する問題