#simple_formの使い方
すぐに忘れてしまうので個人的メモ
実行環境
cloud9
rails 4.2.5
bootstrap twitter-bootstrap-rails 3.2.2
##インストール方法
Gemfileに記述
gem 'simple_form'
ターミナルからインストールする
unchiman: ~/workspace $ bundle install
simple_formをbootstrapに適用させる
※bootstrapを使わない場合は--bootstrapを削除
unchiman: ~/workspace $ rails generate simple_form:install --bootstrap
##使い方
投稿フォームへ記述する
<%= simple_form_for @user do |f| %>
<%= f.input :username %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %> --bootstrap
scaffoldで「user」で自動生成した場合は一度下記のコマンドを入力してbootstrapを更新。
unchiman: ~/workspace $ rails g bootstrap:themed Users
フォームが変更されているのを確認して、サーバーの再起動!
<%= simple_form_for @user, :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :name %>
<%= f.input :password %>
<%= f.input :email %>
<%= f.input :regist_date %>
<%= error_span(@user[:regist_date]) %>
<%= f.button :submit, :class => 'btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
users_path, :class => 'btn btn-default' %>
<% end %>
ひょっとするとerror_spanってのが各inputの間にかかれているけど、全部削除してもOK。
消してもヌルヌル動く
<%= f.input :regist_date %>
<%= error_span(@user[:regist_date]) %> ←この列は削除
##オプションについて
カンマで区切って追加していく。オプション指定が複数ある場合もカンマをつければOK
<%= simple_form_for @user do |f| %>
<%= f.input :name, オプション %>
ラベル名の変更
label: "ラベル名"
ラベル名を消す
label: false
エラーメッセージ(投稿に失敗したときに表示される)
error: "エラーでおま"
エラーメッセージを表示させない
error: false
ヒントメッセージ(エラーと違って常に表示される)
hint: "ヒントでおま"
プレースホルダー
placeholder: "プレースホルダー"
ファイルの投稿フォームにする(file_field)
as: :file
ボタンの表示を変える
"押してね"
以下記入サンプル
<%= f.input :name, label: "ラベル名", error: 'エラーを表示する' %>
<%= f.input :body, placeholder: 'プレースホルダー', label: false %>
<%= f.input :image, as: :file %><%# as: :fileでアップロードフォームが作れる %>
<%= f.input :styles, hint: 'ヒントの表示', error: flase%>
<%= f.button :submit, "押してね", :class => 'btn-primary' %>
実行サンプル画像
追記
inputでboolean, true flaseの動作をさせる
<%= f.input :accepts, as: :boolean, checked_value: true, unchecked_value: false %>