首页 > 解决方案 > 尝试在表格后面使用 simple_form 时出错

问题描述

Rails 6
simple_form
bootstrap 4

我的视图/书籍/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):

假设因为这是索引视图。我该如何解决?

编辑:

澄清一下,当我提交表单时,我希望它转到新控制器操作,而不是索引操作,所以我正在寻找相当于:

= form_with url: new_book_url do |f|

标签: ruby-on-railssimple-formsimple-form-for

解决方案


您需要@book在操作中设置实例变量index

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

推荐阅读