Guest User

Untitled

a guest
Jul 9th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 1.19 KB | None | 0 0
  1. #controllers/tweets_controller.rb  
  2. def like
  3.     @tweet.like.new(params[:user_id, :tweet_id])
  4.     respond_to do |format|
  5.       if @tweet.like.save
  6.         format.html { redirect_to @tweet, notice: 'Like succeded.'}
  7.         format.json { render :show, status: :ok, location: @tweet }
  8.       else
  9.         @tweet.like.destroy
  10.         format.html { render :edit, notice: 'You dont like this anymore' }
  11.         format.json { render json: @tweet.like.errors, status: :unprocessable_entity }
  12.       end
  13.     end
  14.   end
  15.  
  16. #tweets/show.html.erb
  17. <%= link_to 'Like', @tweet.like %>
  18.  
  19. #models/tweet.rb
  20. class Tweet < ActiveRecord::Base
  21.   belongs_to :user
  22.   validates :text, presence: true, length: { maximum: 140 }
  23. end
  24.  
  25. #models/like.rb
  26. class Like < ActiveRecord::Base
  27.   belongs_to :tweet
  28.   belongs_to :user
  29.   validates :user_id, presence: true
  30.   validates :tweet_id, presence: true
  31. end
  32.  
  33. #config/routes.rb
  34. Rails.application.routes.draw do
  35.  
  36.   resources :tweets do
  37.     resources :likes
  38.   end
  39.  
  40.   resources :users
  41.   root 'tweets#index'
  42. end
  43.  
  44. #output
  45. NoMethodError in Tweets#show
  46. Showing /twitter/app/views/tweets/show.html.erb where line #14 raised:
  47.  
  48. undefined method `like' for #<Tweet:0x1648a4ad>
Advertisement
Add Comment
Please, Sign In to add comment