【问题标题】:Rails: Where "params" is defined?Rails:“参数”在哪里定义?
【发布时间】:2011-05-26 06:12:45
【问题描述】:

我在控制器中使用params,如下所示:

class ProductsController < ApplicationController
  def create
    @product = Product.new(params[:aircon])
    ...
  end
end

paramsApplicationController 的属性吗?我猜不是,因为它没有@ 前缀。那么,params 实际上是什么?我可以在ProductsController 的任何自定义方法中使用它吗?

【问题讨论】:

    标签: ruby-on-rails params ruby-on-rails-3


    【解决方案1】:

    它在 ActionController::Metal 中定义。 ApplicationController 继承自 ActionController::Base,后者继承自 ActionController::Metal。如果您查看 http://api.rubyonrails.org/ 的 Rails API,您会发现 params 只是一个返回 request 对象参数的函数。

    【讨论】:

      【解决方案2】:

      参数实际上是在名为ActionDispatch::ParamsParser 的中间件中解析的。 ActionController::Metal 中的 params 函数是对此的封装。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-02
        • 2012-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 1970-01-01
        相关资源
        最近更新 更多