1. 安装Gem包
gem 'formtastic'
$ rails g formtastic:install
在application.css中添加
*=require formtastic*=require my_formtastic_changes
2. 新建Model
classCreateUsers 3. 使用 <%= semantic_form_for @user do |f| %> <%=f.inputs:name,:desc,:created_at%> <%= f.actions :submit, :cancel %><%end%> 自动识别类型(时间如下) shijian.png 4. 更常用 <%= semantic_form_for @user do |f| %> <%=f.inputs'基本信息',:id=>'basic_info'do%> <%= f.input :name, :as =>:string%> <%= f.input :desc %><%= f.input :created_at %> <% end %> <%=f.actionsdo%> <%= f.action :submit, :as =>:button%> <%= f.action :cancel, :as =>:link%> <% end %><%end%> <%=f.inputs:name=>'基本信息',:id=>'basic_info'do%>修改id<%=f.input:name,:label=>'姓名',:as=>:string%>更改label inputs可以设置一些常用的参数 :name 设置标签 :id 设置html的id input可以设置一些常用的参数 :as ->(:radio, :string, :select, :check_boxes, :boolean, :datalist) :label 设置字符串 :hint 设置字符串 :required (false true) :input_html 设置Hash =>{:size=>10, :class=>'autogrow'} :wrapper_html 设置Hash=> { :style => "display:none;" },给input一 个
action可以设置属性
:button_html 设置Hash
5. 对象嵌套
新建一个Modal,Article。
classCreateArticles 建立关联 classUser classArticle view中显示 <%= semantic_form_for @user do |f| %> <%=f.inputs:name=>'基本信息',:id=>'basic_info'do%> <%= f.input :name, :label=>'姓名',:as=>:string%> <%= f.input :desc, :as =>:string%> <%= f.input :created_at %><%end%> ###############嵌套属性########################## <%= f.semantic_fields_for :articles do |article| %><%= article.inputs :title %> <%=article.inputs:content%> <%end%> ###############嵌套属性########################## <%= f.actions do %><%= f.action :submit, :as =>:button%> <%= f.action :cancel, :as =>:link%> <% end %><%end%> 6. 设置命名空间控制id <%= semantic_form_for(@post, :namespace =>'cat_form')do|f|%> <%= f.inputs do %><%= f.input :title %> # id="cat_form_post_title"<%= f.input :body %> # id="cat_form_post_body"<%= f.input :created_at %> # id="cat_form_post_created_at"<%end%> <%= f.actions %><%end%> 7. 其他嵌套 <%= f.input :articles, :as =>:radio,:collection=>@user.articles.all%> 8. 其他input :select :check_boxes :radio :time_zone :password :text :date_select :datetime_select :time_select :boolean :string :number :file :country :email :url :phone :search :hidden :range :datalist :image_upload 9. 本地化 使用顺序 :label Formtastic i18n Activerecord i18n label_str_method 10. 小知识 <%=semantic_form_for(@post,:namespace=>'cat_form')do|f|%><%f.object%><%end%>