Skip to content

whmall/default_form

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

default_form

default_form只是为Rails提供的一系列表单方法设置了一些默认值和行为,然后这些默认的设置可以在配置文件、controller层,from_tag方法参数,field方法参数四个级别进行 overwrite,和配置。使用default_form我们只需要这样写表单:

<%= f.number_field :total_amount %>
<%= f.number_field :fee_amount %>
<%= f.number_field :income_amount %>
<%= f.datetime_field :notified_at %>
<%= f.text_field :buyer_name %>
<%= f.text_field :buyer_identifier %>
<%= f.text_field :buyer_bank %>
<%= f.text_field :comment %>
<%= f.submit %>

Features

  • 基于Rails内建的form builder构建helper,符合rails习惯,rails使用者上手零门槛;

  • 不过度包办,在我们本来就熟练掌握 input 的 type 知识和 rails 的 filed 系列方法的情况下,写text_filed 相比simple_form的 input 写法会更灵活一些,代码表达更清晰。

  • 更容易定制,当我还是个菜鸟的时候,我被simple_form的配置文件颇为困扰;

如何使用

  1. default_form_for 替代 form_for

  2. 推荐用法:用`default_form_builder' 指定 FromBuilder

default_form_builder 可以接受任意字符参数,default_form 会动态定义一个子类继承自 DefaultForm::FormBuilder

class AdminAreaController < ApplicationController
  default_form_builder DefaultForm::FormBuilder
end
class AdminAreaController < ApplicationController

  default_form_builder 'ExampleBuilder' do |config|
    config.on.xxx = ''
    config.css.xxx = ''
  end
  
end

如何定制

这个gem的思路只是为每个form helper method 设置了默认值, 如果不需要默认值,

1.直接覆盖即可

f.text_filed class: 'xxx'

2.也可以在一个很简单的配置文件中关闭一些行为, 具体参见examples下的例子。

About

default process for rails form helper

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 81.8%
  • HTML 11.9%
  • JavaScript 4.6%
  • CSS 1.7%