Help us understand the problem. What is going on with this article?

Simple_formの使い方

More than 3 years have passed since last update.

simple_formの使い方

すぐに忘れてしまうので個人的メモ
実行環境
cloud9
rails 4.2.5
bootstrap twitter-bootstrap-rails 3.2.2

インストール方法

Gemfileに記述

Gemfile
gem 'simple_form'

ターミナルからインストールする

terminal
unchiman: ~/workspace $ bundle install

simple_formをbootstrapに適用させる
※bootstrapを使わない場合は--bootstrapを削除

terminal
unchiman: ~/workspace $ rails generate simple_form:install --bootstrap

使い方

投稿フォームへ記述する

投稿フォームのview.html.erb
<%= simple_form_for @user do |f| %>
  <%= f.input :username %>
  <%= f.input :password %>
  <%= f.button :submit %>
<% end %> --bootstrap

scaffoldで「user」で自動生成した場合は一度下記のコマンドを入力してbootstrapを更新。

terminal
unchiman: ~/workspace $ rails g bootstrap:themed Users

フォームが変更されているのを確認して、サーバーの再起動!

_form.html.erb
<%= 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。
消してもヌルヌル動く

_form.html.erb
  <%= f.input :regist_date %>
  <%= error_span(@user[:regist_date]) %> ←この列は削除

オプションについて

カンマで区切って追加していく。オプション指定が複数ある場合もカンマをつければOK

_form.html.erb
<%= simple_form_for @user do |f| %>
 <%= f.input :name, オプション  %>

ラベル名の変更
label: "ラベル名"

ラベル名を消す
label: false

エラーメッセージ(投稿に失敗したときに表示される)
error: "エラーでおま"

エラーメッセージを表示させない
error: false

ヒントメッセージ(エラーと違って常に表示される)
hint: "ヒントでおま"

プレースホルダー
placeholder: "プレースホルダー"

ファイルの投稿フォームにする(file_field)
as: :file

ボタンの表示を変える
"押してね"

以下記入サンプル

_form.html.erb
  <%= 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' %>

実行サンプル画像

alt

追記

inputでboolean, true flaseの動作をさせる

_form.html.erb
<%= f.input :accepts, as: :boolean, checked_value: true, unchecked_value: false %>
Inp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away