Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #controllers/tweets_controller.rb
- def like
- @tweet.like.new(params[:user_id, :tweet_id])
- respond_to do |format|
- if @tweet.like.save
- format.html { redirect_to @tweet, notice: 'Like succeded.'}
- format.json { render :show, status: :ok, location: @tweet }
- else
- @tweet.like.destroy
- format.html { render :edit, notice: 'You dont like this anymore' }
- format.json { render json: @tweet.like.errors, status: :unprocessable_entity }
- end
- end
- end
- #tweets/show.html.erb
- <%= link_to 'Like', @tweet.like %>
- #models/tweet.rb
- class Tweet < ActiveRecord::Base
- belongs_to :user
- validates :text, presence: true, length: { maximum: 140 }
- end
- #models/like.rb
- class Like < ActiveRecord::Base
- belongs_to :tweet
- belongs_to :user
- validates :user_id, presence: true
- validates :tweet_id, presence: true
- end
- #config/routes.rb
- Rails.application.routes.draw do
- resources :tweets do
- resources :likes
- end
- resources :users
- root 'tweets#index'
- end
- #output
- NoMethodError in Tweets#show
- Showing /twitter/app/views/tweets/show.html.erb where line #14 raised:
- undefined method `like' for #<Tweet:0x1648a4ad>
Advertisement
Add Comment
Please, Sign In to add comment