Javascript / jQuery不会删除rails 3项目中的元素

时间:2012-04-01 22:08:43

标签: javascript jquery ruby-on-rails

我正在尝试实现一个系统,为了跟踪项目进度,你可以用各种版本标记它(比如Stack Overflow上的标记功能。我跟随Rails 3书中的行动项目,Ticketee 。)我正在尝试实现从票证中删除标签的异步请求,但由于某种原因,它没有正确删除。这是我的代码:

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 个答案:

答案 0 :(得分:1)

你有rails_ujs吗? rails_ujs是一个用link做的很酷的东西,比如link_to和remote。顺便说一下,它的

  

= link_to“x”,url,:remote =&gt;真正的“

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