Ruby: Rails 控制器动作

本文档属于学习 Ruby指南的一部分。您可以在此处查看完整指南:全面的 Ruby 和 Rails 指南

👋 欢迎来到 Stackhero 文档!

Stackhero 提供了一种即用型 Ruby 云 解决方案,具有众多优势,包括:

  • 通过简单的 git push 在几秒钟内 部署您的应用程序。
  • 使用您自己的域名,并享受 HTTPS 证书的自动配置以增强安全性。
  • 享受自动备份一键更新以及简单、透明和可预测的定价带来的安心。
  • 通过私有和专用的 VM获得最佳的性能和强大的安全性

节省时间简化您的生活:尝试 Stackhero 的 Ruby 云托管 解决方案只需 5 分钟

控制器作为模型和视图之间的中介,通过接收传入请求并呈现适当的响应。以下示例说明了列出、显示、创建、更新和删除资源的常见控制器动作:

  1. Index 动作(列出所有对象):

    def index
      @objects = ModelName.all
    end
    
  2. Show 动作(显示单个对象):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. New 动作(显示新对象的表单):

    def new
      @object = ModelName.new
    end
    
  4. Create 动作(保存新对象):

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. Edit 动作(显示编辑现有对象的表单):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. Update 动作(应用对现有对象的更改):

    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. Destroy 动作(删除对象):

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