simple_form模板templates erb haml

通过新建lib/templates/erb/scaffold/_form.html.erb,来重写scaffold生成view下_form.html.erb的默认模板

Bootstrap: Basic Form:

<%%= simple_form_for(@<%= singular_table_name %>) do |f|%>
  <%%= f.error_notification%>
  <div class="col-md-6">
    <div class="form-inputs">
  <%- attributes.each do |attribute| -%>
        <%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %>%>
  <%- end -%>
    </div>
  </div>

  <div class="form-actions">
    <%%= f.button :submit %>
  </div>
<%% end %>
View Code

 Simple Form: Inline Form

<%%= simple_form_for @<%= singular_table_name%>, wrapper: :inline_form, html: { class: 'form-inline' } do |f| %>
  <%%= f.error_notification %>
  <div class="col-md-6">
    <div class="form-inputs">
    <%- attributes.each do |attribute| -%>
      <%%= f.<%= attribute.reference? ? :association : :input%>:<%= attribute.name%>, placeholder: 'Enter <%= attribute.name%>'%>
    <%- end -%>

    <%%=f.button :submit %>
      </div>
  </div>
<%% end%>
View Code

Simple Form: Horizontal Form

<%%= simple_form_for @<%= singular_table_name%>, as: 'user_horizontal', html: { class: 'form-horizontal' },
  wrapper: :horizontal_form,
  wrapper_mappings: {
    check_boxes: :horizontal_radio_and_checkboxes,
    radio_buttons: :horizontal_radio_and_checkboxes,
    file: :horizontal_file_input,
    boolean: :horizontal_boolean
  } do |f| %>
  <%%= f.error_notification %>
  <div class="col-md-6">
    <div class="form-inputs">
    <%- attributes.each do |attribute| -%>
    <%%= f.<%= attribute.reference? ? :association : :input%>:<%= attribute.name%>, placeholder: '<%= attribute.name%>'%>
  <%- end -%>

  <%%= f.input :file, as: :file %>

  <%%= f.input :sex, as: :radio_buttons,
    collection: ["Male", "Female"] %>
    </div>
  </div>

  <%%= f.button :submit %>
<%% end %>
View Code

简略版本

<%%= simple_form_for @<%= singular_table_name%>, as: 'user_horizontal', html: { class: 'form-horizontal' },
  wrapper: :horizontal_form do |f| %>
  <%%= f.error_notification %>
  <div class="col-md-6">
    <div class="form-inputs">
    <%- attributes.each do |attribute| -%>
    <%%= f.<%= attribute.reference? ? :association : :input%>:<%= attribute.name%>, placeholder: '<%= attribute.name%>'%>
  <%- end -%>
    </div>
  </div>

  <%%= f.button :submit %>
<%% end %>
View Code

 asfd

asdf

show.html.haml

.wrapper.wrapper-content.animated.fadeInRight.ecommerce
  .ibox
    .ibox-title
      %h5 配送平台详情
    .ibox-content.header
      .row
        <%- attributes.each do |attribute| -%>
        .col-md-6.form-group
          %b
            <%= attribute.name %>
            :
          = @<%= singular_table_name %>.<%= attribute.name %>
        <%- end -%>
        .clearfix
      = link_to '<%= singular_table_name %>设置', edit_<%= singular_table_name %>_path, class: 'btn btn-primary'
View Code

edit.html.haml

.ibox
  .ibox-title
    %h5 <%= singular_table_name %>设置
  .ibox-content
    = render 'form'

    .row
      = link_to t('Show'), <%= singular_table_name %>_path, :class=>"btn btn-default"
View Code

_form.html.haml

= simple_form_for(@<%= singular_table_name %>, url: backend_<%= table_name %>_path) do |f|
  - if @<%= singular_table_name %>.errors.any?
    #error_explanation
      %h2= "#{pluralize(@<%= singular_table_name %>.errors.count, "error")} prohibited this bank account from being saved:"
      %ul
        - @<%= singular_table_name %>.errors.full_messages.each do |msg|
          %li= msg

  .form-inputs
    <%- attributes.each do |attribute| -%>
    .col-sm-6
      = f.input :<%= attribute.name %>
    <%- end -%>

    .clearfix
  .form-actions
    .col-sm-6
      .col-xs-offset-2
        = f.button :submit, :id => 'submit-button'
View Code

index.html.haml

.row.wrapper.border-bottom.white-bg.page-heading
  .col-lg-10
    %h2= "<%= singular_table_name %>"

.wrapper.wrapper-content.animated.fadeInRight.ecommerce
  .row
    .col-lg-12
      .ibox
        .ibox-content
          %table.table.table-striped
            %thead
              %tr
                <%- attributes.each do |attribute| -%>
                %th.col-sm-2 <%= attribute.name %>
                <%- end -%>
            %tbody
              - @<%= table_name %>.each do |<%= singular_table_name %>|
                %tr
                  <%- attributes.each do |attribute| -%>
                  %td= <%= singular_table_name %>.<%= attribute.name %>
                  <%- end -%>
                  %td
                    = link_to t('配置'), url_for(:controller => "<%= table_name %>", :action => "edit", :id => <%= singular_table_name %>.id)
View Code

new.html.haml

.wrapper.wrapper-content.animated.fadeInRight.ecommerce
  .row
    .col-lg-12
      .ibox
        .ibox-title
          %h2= "新建<%= singular_table_name %>"
      .ibox-content
        = render 'form'

        = link_to t('Back'), <%= table_name %>_path, :class => "btn btn-default btn-sm"
View Code
原文地址:https://www.cnblogs.com/tabCtrlShift/p/6102047.html