`

rails formtastic 插件的使用

阅读更多
formtastic的使用

>>作用

这个插件可以很简单的生成表单的文本框


>>安装

config.gem "formtastic"

>> 生成formtastic依赖的文件

  Rails 3:
  命令: rails generate formtastic:install

  Rails 2:
  命令: ./script/generate formtastic

>> 导入自动生成的formtastic依赖的css文件

formtastic_stylesheet_link_tag



>>  formtastic 的方法解析


>     label :

form.label :name, "姓名"
生成名为'姓名'的标签


>     inputs:     (nput_field_set和inputs一样)

:id和:class  设置inputs区间的id和class
name:     生成一个区间,该块里的所有文本框,属于该区间
for:   生成一个子表单域,效果等同于semantic_fields_for
form.inputs  :name, :sex, :age    生成三个文本输入框,分别是:name, :sex, :age



eg:

form.inputs :name => "区间", :id => "id", :class => "class" do
  form.input :name
end

form.inputs :name => "区间" do
   .....
end

form.inputs :name => "区间", :for => :author do |author_form|
  author.input :name
end

>       semantic_form_for :   生成一个表单

>       semantic_fields_for:(效果等同于 inputs :for => :info)   生成一个子表单域,提交时参数实例

举例:
semantic_form_for @xingxi do |form|
  form.semantic_fields_for :info do |field|
      field.input :name
      field.input :age
  end
  form.input :sex
end

传递参数:
"xingxi"=>{"info"=>{"name"=>"asdfas", "age"=>"12"}, :sex => "0"}

注意:
semantic_fields_for :info



>   input:  生成一个表单属性

:label  设置该输入框的标签名称

:id 和 :class 设置input属性的id和class

required   指定该输入框是否必须输入,默认为true,必须输入(星号)

collection 指定一个集合,该集合是一个数组,元素可以是具体的值或实例对象(在下拉框、多选框、多个单选按钮中使用)

form.input :name  
生成一个带星号表单输入框,名称为name,默认:required => true

hint  输入框后有输入框说明

input_html   表单输入框中html中的属性可以直接设置在这里

warp_html   表单输入框外围包裹元素的html中的属性可以直接设置在这里

as  指定输入框的种类
包括:
:check_boxes 多个复选框
:select  单个复选框
:boolean  单个复选框
:radio   单个单选按钮
:string   文本输入框
:time_zone  时区下拉框
:password
:text  文本域输入框
:date  日期下拉框
:datetime   日期和时间下拉框
:time  时间下拉框
:file 
:hidden

eg:
form.input :name, :id => "id", :class => "class"
form.input :name, :required => false
form.input :name, :hint => "Example: ruby, rails, forms"
form.input :name, :input_html => { :id => "wode", :maxlength => 4 }
form.input :name, :as => :check_boxes, :collection => Xingxi.all 或 [1,2,3,4]
form.input :name, :warp_html => { :id => "wode" }
form.inputs :name, :labe => "姓名"
form.input :sex, :label => "性别", :collection => {"男" => true, "女" => false}, :as => :radio, :selected => true

>    commit_button   生成一个提交按钮

:button_html   设置按钮的html可以直接写在这里

eg:
form.commit_button  "确认"
form.commit_button "tijiao", :button_html => {:id => "button_id"}

>    buttons 生成一个区间, :name指定区间的名称,等同于button_field_set

eg:
form.buttons do
   from.commit_button "tijiao"
end

>    semantic_errors    显示包括属性名称的错误信息

eg:
semantic_errors  :name



>    inline_errors_for 和 errors_on      只显示属性名称的错误信息

eg:
inline_errors_for :name
errors_on :name
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics