NoMethodError: неопределенный метод '[]' для nil: NilClass - PullRequest
0 голосов
/ 03 сентября 2018

Я получил simple_form с несколькими флажками, которые сохраняют массив с именами некоторых методов в моей модели. Форма выглядит так:

<%= simple_form_for @testrun do |f| %>

<%= f.input :testcase, as: :check_boxes,
      collection: [["test1", :test1], ["test2", :test2]] %>
  <%= f.submit %>
<% end %>

мой метод создания в контроллере выглядит так:

def create
    @testrun = Testrun.new(testrun_params)

    if @testrun.save
      Testrun.delay.process!(@testrun.id)
      redirect_to @testrun, notice: 'Test run was successfully created.'
    else
      render :new
    end
  end

В моей модели у меня есть метод process!, который мне нужен для запуска методов в массиве.

  def process!
    .
    .
    .
    @test = Case.new(self)
    @testrun[:testcase].each do |testcase|
      @test.send testcase
    end
  end

когда я запускаю процесс, я получаю сообщение об ошибке NoMethodError: undefined method '[]' for nil:NilClass

Где я был не прав?

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