Ruby: Rails 控制器动作

本文件是学习 Ruby指南的一部分。您可以在这里查看完整指南:全面的 Ruby 和 Rails 指南

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即开即用的 Ruby cloud 解决方案,带来多项优势,包括:

  • 只需一个简单的 git push,即可在几秒钟内部署您的应用。
  • 使用您自己的域名,并享受自动配置HTTPS证书带来的更高安全性。
  • 享受自动备份一键更新,以及简单、透明且可预测的定价,让您无后顾之忧。
  • 依托专属私有基础设施,获得卓越的性能和强大的安全性

节省时间简化您的工作流程:只需5分钟即可体验 Stackhero 的 Ruby cloud hosting 解决方案!

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

  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