Обработка параметра в определении модели - PullRequest
0 голосов
/ 18 марта 2020

Следующий запрос

Parameters: {"utf8"=>"✓", [...], "balance"=>"2", "file"=>#<ActionDispatch::Http::UploadedFile[...]

Предназначен для обработки файла, обработка которого определена в модели

def self.import(file)
  Rails.logger.info @balance
  CSV.foreach(file.path, :col_sep => "\t", :quote_char => "\x00", headers: false) do |row|

Однако для этой модели необходим доступ к параметру balance как глобальное значение.

Регистратор регистрирует пробел для @balance. Контроллер пытается передать эту информацию в модель следующим образом

def import
  @balance = request.params[:balance]
  Importportfolio.import(params[:file])

Как модель может эффективно использовать этот параметр?

1 Ответ

1 голос
/ 18 марта 2020

Вы должны отправить его вместе с вызовом метода.

def import
  @balance = request.params[:balance]
  Importportfolio.import(params[:file], @balance)
  ...

Затем в модели

def self.import(file, balance)
  ...

Затем в модели вы бы назвали его balance, а не @balance, просто чтобы быть понятным

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