首页 > 解决方案 > simple_form 生成的脚手架模板

问题描述

Rails 5.2.2
Ruby 2.6

我安装了 gems slim_rails 和 bootstrap。

我添加了 simple_form,并做了:

rails g simple_form:install bootstrap

我最终在 lib/templates/slim/scaffold 中得到了一个模板 (_form.html.slim),其中包含以下内容:

= simple_form_for(@<%= singular_table_name %>) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
<%- attributes.each do |attribute| -%>
    = f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %>
<%- end -%>

  .form-actions
    = f.button :submit

为什么这是 .erb 和 .slim 的混合体,它会起作用吗?我应该将 .erb 部分转换为 .slim 吗?

编辑

这就是我修改模板的方式:

= simple_form_for(@<%= singular_table_name %>) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
    - attributes.each do |attribute|
      = f.#{attribute.reference? ? :association : :input} :#{attribute.name}

.form-actions = f.button :提交

标签: ruby-on-railsslim-lang

解决方案


推荐阅读