ruby-on-rails - 尝试在表格后面使用 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|
解决方案
您需要@book
在操作中设置实例变量index
:
def index
@book = Book.new
# rest of the code, setting @books etc.
end
推荐阅读
- keycloak - KeyCloak 和 SAML - 流不返回到 SP
- java - 在 docker-maven-plugin 的运行部分访问动态端口号?
- regex - 正则表达式逻辑 - 用点替换两个数字之间的逗号
- json - 如何从 postgres 中的 json 数组对象中查询值
- ios - 我可以使用 Firestore 快照侦听器仅侦听缓存中的更改吗?
- sql - 我如何在 PL/SQL [ORACLE] 中转置和分组
- java - 如何用“T”定义地图
- php - Laravel int 到 32 位二进制(反之亦然)
- postgresql - 使用 Google Cloud VPC 连接器的 Postgres 连接问题
- python - 在 Python 中使用 List 自动更正列值