Guest User

Untitled

a guest
Jul 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. Chciałbym, aby użytkownik mógł zagłosować tylko raz.
  2. Używając poniższy kod wyświetla się błąd "Vote was not added.", a mimo to głos zostaje dodany.
  3.  
  4. #controller
  5.  
  6. @post = Post.find(params[:id])
  7. @vote = @post.votes.create(:user_id => current_user.id)
  8.  
  9. if @vote.save
  10. flash[:notice] = "Successfully added vote."
  11. else
  12. flash[:error] = "Vote was not added."
  13. end
  14. redirect_to :back
  15.  
  16. # model:
  17.  
  18. validate :something
  19.  
  20. private
  21.  
  22. def something
  23. errors.add_to_base('error message') if user.votes.include?(self) #zmieniając to self na Vote.first (albo last) valuduje prawidłowo...
  24. end
  25.  
  26. #logi
  27. Processing VotesController#new (for 127.0.0.1 at 2009-11-17 20:03:54) [GET]
  28. Parameters: {"action"=>"new", "id"=>"3", "controller"=>"votes"}
  29. Post Load (0.5ms) SELECT * FROM "posts" WHERE ("posts"."id" = 3)
  30. User Load (0.5ms) SELECT * FROM "users" WHERE ("users"."id" = 2)
  31. CACHE (0.0ms) SELECT * FROM "users" WHERE ("users"."id" = 2)
  32. Vote Load (0.2ms) SELECT "votes".id FROM "votes" WHERE ("votes"."id" = NULL) AND ("votes".user_id = 2) LIMIT 1
  33. Vote Create (0.5ms) INSERT INTO "votes" ("created_at", "updated_at", "post_id", "user_id") VALUES('2009-11-17 19:03:54', '2009-11-17 19:03:54', 3, 2)
  34. Vote Load (0.4ms) SELECT "votes".id FROM "votes" WHERE ("votes"."id" = 32) AND ("votes".user_id = 2) LIMIT 1
Add Comment
Please, Sign In to add comment