代码之家  ›  专栏  ›  技术社区  ›  dragon

控制器类在什么时候实例化Rails web应用程序中的控制器对象?

  •  4
  • dragon  · 技术社区  · 8 年前

    学习Rails时,我不清楚控制器实例化的点,然而,模型实例化的点在某种程度上是可以识别的,例如,当用户在from中输入数据并单击submit按钮时,某种程度上是导致创建对象模型的触发器。

    这有点正确吗?

    3 回复  |  直到 8 年前
        1
  •  12
  •   sa77    8 年前

    rails gem),它将HTTP请求转换为 ActionDispatch::Request 类,用于根据中定义的路由定义确定要分派到rails应用程序中相应控制器类的正确路由 config/routes.rb .

    生成的 request 对象然后被调度到相应的控制器和动作方法,该控制器和动作方法实例化控制器类,并在其实例上使用参数调用动作方法 params ActionController::Parameters ).

    这只是控制器如何实例化的概述。请求对象在 要求 对象生成。

    read it in detail .

        2
  •  0
  •   shimroz ahemed    8 年前

    当我们在routes中定义routes时。rb,然后控制器进入控制器动作,此时控制器开始工作

        3
  •  0
  •   Ashish Jambhulkar    8 年前

    它与面向对象编程更相关,在调用时总是实例化对象 new 在…上 class

    2.0.0-p648 :001 > Class.new
     => #<Class:0x007fee8e99d9a8> 
    2.0.0-p648 :002 > 
    

    def new
      @article = Article.new
    end
    

    当您单击 save create 动作,并传递当前对象。

    def create
      @article = Article.create(article_params)
      @article.save
    end
    

    在这里 .create article_params .save 方法将对象保存在数据库中。