【发布时间】:2014-12-14 20:41:11
【问题描述】:
所以我有一个非常简单的投票系统,允许用户投票:
app/views/pins/show.html.erb
<%= link_to upvote_pin_path(@pin), method: :put, remote: true do %>
Upvote
<% end %>
app/controller/pins_controller.rb
def upvote
@pin = Pin.friendly.find(params[:id])
@pin.votes.create(user_id: current_user.id)
respond_to do |format|
format.html { redirect_to @pin }
format.js
end
end
app/models/vote.rb
class Vote < ActiveRecord::Base
belongs_to :user
belongs_to :pin, counter_cache: true
validates_uniqueness_of :pin_id, scope: :user_id
end
配置/路由
resources :pins do
resources :comments
member do
put 'upvote'
end
end
我想要的是允许用户在他们愿意的情况下销毁他们的选票。我使用 :delete 和 destroy 方法尝试了几件事,但没有任何效果。有什么想法可以让我走上正轨吗? :-)
【问题讨论】:
标签: javascript ruby-on-rails model controller destroy