私は、redditに似た単純な賛成/反対のシステムを作成しています。このシステムでは、ユーザーは何かに賛成/反対し、必要に応じて考えを変えることができます。
コントローラの「作成」アクションをAJAXで呼び出すページがあります。コントローラは、レコードを作成して適切なjs.erbを返すことに問題はありません。ただし、既存の投稿が存在するかどうかを確認したいので、存在する場合は破棄したいと思います。私のコントローラーは次のようになります。
def create
@vote = GameVote.new
@vote.game_id = params[:game_id]
@vote.vote = params[:vote]
@vote.user_id = session[:user_id]
existing_vote = GameVote.where(whatever)
respond_to do |format|
if @vote.save
format.js
end
end
end
真ん中のクエリを無視しているようで、新しいエントリを保存する前に存在する場合は破棄できません。何か案は?