Ruby: Railsコントローラアクション

このドキュメントはRubyを学ぶガイドの一部です。完全なガイドはこちらからご覧いただけます:包括的なRubyとRailsガイド

👋 Stackhero ドキュメントへようこそ!

Stackhero では、すぐに使える Ruby cloud ソリューションをご提供しています。主な特長は以下の通りです:

  • シンプルな git push だけで、数秒でアプリケーションをデプロイできます。
  • 独自ドメイン名をご利用いただけ、HTTPS 証明書の自動設定による高いセキュリティを実現します。
  • 自動バックアップワンクリックアップデート、そしてシンプルで透明性のある予測可能な料金体系で安心してご利用いただけます。
  • プライベートかつ専用インフラによる最適なパフォーマンスと堅牢なセキュリティを確保しています。

時間を節約し、運用をシンプルに:Stackhero の Ruby cloud hosting ソリューションは、わずか5分でお試しいただけます!

コントローラは、モデルとビューの間の仲介役として、受信リクエストを受け取り、適切なレスポンスをレンダリングします。以下の例は、リソースのリスト表示、表示、作成、更新、削除のための一般的なコントローラアクションを示しています。

  1. インデックスアクション(すべてのオブジェクトをリスト):

    def index
      @objects = ModelName.all
    end
    
  2. ショーアクション(単一オブジェクトを表示):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. ニューアクション(新しいオブジェクトのフォームを表示):

    def new
      @object = ModelName.new
    end
    
  4. クリエイトアクション(新しいオブジェクトを保存):

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. エディットアクション(既存オブジェクトの編集フォームを表示):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. アップデートアクション(既存オブジェクトに変更を適用):

    def update
      @object = ModelName.find(params[:id])
      if @object.update(params.require(:model_name).permit(:field1, :field2))
        redirect_to @object
      else
        render :edit
      end
    end
    
  7. デストロイアクション(オブジェクトを削除):

    def destroy
      @object = ModelName.find(params[:id])
      @object.destroy
      redirect_to model_name_path
    end