Ошибка при попытке использовать simple_form после таблицы - PullRequest
0 голосов
/ 11 марта 2020
Rails 6
simple_form
bootstrap 4

У меня есть таблица в моих views / books / index.htmlslim, к которой я хотел бы добавить simple_form следующим образом:

table.table.table-striped
  thead
    tr
      th Name
  tbody
    - @books.each do |book|
      tr
        td = book.name

= simple_form_for(@book) do |f|
  .form-inputs
    = f.input :book_name

  .form-actions
    = f.button :submit

Я, однако, получаю сообщение об ошибке, говорящее мне:

ActionView::Template::Error (undefined method `model_name' for nil:NilClass):

Предположим, потому что это представление индекса. Как это исправить?

Редактировать:

Чтобы уточнить, когда я отправляю форму, я хочу, чтобы она была go для действия книги нового контроллера, а не действия индекса, поэтому я ищу эквивалент:

= form_with url: new_book_url do |f|

1 Ответ

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

Вам необходимо установить @book переменную экземпляра в вашем index действии:

def index
  @book = Book.new
  # rest of the code, setting @books etc.
end
...