Hyperstack vs Hotwire controllers:
class LikesController < ApplicationController | |
before_action :set_tweet | |
def create | |
@tweet.increment! :likes_count | |
redirect_to @tweet | |
end | |
private | |
def set_tweet | |
@tweet = Tweet.find(params[:tweet_id]) | |
end | |
end | |
class RetweetsController < ApplicationController | |
before_action :set_tweet | |
def create | |
@tweet.increment! :retweets_count | |
redirect_to @tweet | |
end | |
private | |
def set_tweet | |
@tweet = Tweet.find(params[:tweet_id]) | |
end | |
end | |
class TweetsController < ApplicationController | |
before_action :set_tweet, only: [:show, :edit, :update, :destroy] | |
# GET /tweets | |
# GET /tweets.json | |
def index | |
@tweets = Tweet.all | |
@tweet = Tweet.new | |
end | |
# GET /tweets/1 | |
# GET /tweets/1.json | |
def show | |
end | |
# GET /tweets/new | |
def new | |
@tweet = Tweet.new | |
end | |
# GET /tweets/1/edit | |
def edit | |
end | |
# POST /tweets | |
# POST /tweets.json | |
def create | |
@tweet = Tweet.new(tweet_params) | |
respond_to do |format| | |
if @tweet.save | |
format.html { redirect_to tweets_url, notice: 'Tweet was successfully created.' } | |
format.json { render :show, status: :created, location: @tweet } | |
else | |
format.turbo_stream { render turbo_stream: turbo_stream.replace(@tweet, partial: "tweets/form", locals: { tweet: @tweet}) } | |
format.html { render :new } | |
format.json { render json: @tweet.errors, status: :unprocessable_entity } | |
end | |
end | |
end | |
# PATCH/PUT /tweets/1 | |
# PATCH/PUT /tweets/1.json | |
def update | |
respond_to do |format| | |
if @tweet.update(tweet_params) | |
format.html { redirect_to @tweet, notice: 'Tweet was successfully updated.' } | |
format.json { render :show, status: :ok, location: @tweet } | |
else | |
format.html { render :edit } | |
format.json { render json: @tweet.errors, status: :unprocessable_entity } | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment