formtasticを使ってみた。
ruby-toolboxの"Rails FormBuilders"部門の一番人気formtasticを使ってみた。
step1 インストール
formtasticのインストール方法は簡単
gem install justinfrench-formtastic
とgemをインストールしたあと、
config.gem "justinfrench-formtastic", :lib => 'formtastic', :source => 'http://gems.github.com'
config/enviroment.rbに追加すればOK。
このformtasticは"semantic_form_for"というメソッドを追加してくれる。
これは手でformを作っていくときに非常に頼りになるメソッドだ。
準備としてモデルを作り
ruby script/generate model test string:string date:date datetime:datetime integer:integer boolean:boolean
そしてroutes.rbに
map.resources :tests
を追加する。
コントローラーを作り
ruby script/generate controller test test1
書き換える。
class TestController < ApplicationController def test1 @test = Test.new end end
view
semantic_form_for <% semantic_form_for @test do | f |%> <%= f.inputs %> <% end -%>
formtasticはl18nにも対応しているから日本語化をしてみよう。
local fileの生成は
i18n_generatorsを使って生成してみるよ。
sudo gem install amatsuda-i18n_generators
でインストール後 RailsRootで
ruby script/generate i18n ja
とやろう。
いろいろなファイルを自動で生成してくれる。
translation_ja.yml
ja: activerecord: models: test: "試験" #g attributes: test: string: "文字列" #g date: "日付" #g datetime: "日時" #g integer: "整数" #g boolean: "ブール" #g
なんて感じになっているからブラウザをリロードしてみよう。
きっとこんな画面になっているはずだ。
もちろん、attributesの一部だけを出力することも可能だよ。
semantic_form_for <% semantic_form_for @test do | f |%> inputs <%= f.inputs :datetime, :string %> input <%= f.input :integer %> <% end -%>