Почему мне не нужно передавать params в article_params? - PullRequest
0 голосов
/ 22 марта 2020

Как метод article_params получает доступ к params без его передачи в качестве параметра? Заранее спасибо.

class ArticlesController < ApplicationController
  private def article_params
    params.require(:article).permit(:title, :text)
  end
  def create
    @article = Article.new(article_params)

    if @article.save
      redirect_to @article
    else
      render 'new'
    end
  end

1 Ответ

2 голосов
/ 22 марта 2020

Поскольку params не является переменной, это метод в ActionController::Base, который возвращает параметры, переданные вызовом, и, будучи методом, доступен для вызова любым методом в любом контроллере. Фактически вы можете ссылаться на params в представлениях, так что это не только метод, это вспомогательный метод.

Как описано в https://api.rubyonrails.org/classes/ActionController/Base.html

Все параметры запроса, будь то из строки запроса в URL-адресе или данных формы, отправленных с помощью запроса POST, доступны через метод params, который возвращает ha sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...