今回はRails 4のformやView周りの基礎について。最近このあたりの基礎を理解していないことを再認識して猛反中。
ちなみに今回の勉強に使った書籍は、『Ruby on Rails 4 アプリケーションプログラミング』。Rails 3でもかなりお世話になった書籍です。僕のRailsの師匠ですw
😎 フォーム関連のメソッド
汎用的なフォームの出力 - form_tagメソッド
前提となるモデルが存在しない、汎用的なフォームの生成に利用するのがform_tagメソッド
です。
form_tag(リンク先のURL [,opts]) do ... body ... end
|
モデル編集のためのフォームを生成 - form_forメソッド
モデル編集のためのフォーム生成には、form_for
メソッドを利用します。
form_for (モデルオブジェクト [,opts]) do ... body ... end
|
入力フィールドを生成するメソッド
入力フィールドを生成するf.Formヘルパーの紹介。
xxxx_field オブジェクト名, プロパティ名 text_area オブジェクト名, プロパティ名 radio_button オブジェクト名, プロパティ名 check_box オブジェクト名, プロパティ名
* form_forではオブジェクト名を省略
|
Rails 4ではHTML 4対応のxxxxx_fieldも用意されています。
フォーム(form) - Railsドキュメント
選択ボックス、リストボックスの生成 - selectメソッド
select オブジェクト名, プロパティ名, タグの情報 [, opts]
|
DBの情報から選択肢を生成する - collection_selectメソッド
collection_select オブジェクト名 プロパティ名 タグの元になるオブジェクト配列 value属性に割り当てられる要素, テキストとに割り当てられる項目
|
ラベルテキストを生成する - labelメソッド
サブミットボタンの生成
submit ボタンキャプション [, opts]
|
🍮 そのほか便利メソッド
改行文字を
や
タグで置き換える - simple_formメソッド
<% article="< SAMPLE_FORMのテスト
こんにちは。 これは SAMPLE_FORMのテストです。 EOL %> <%= simple_format article, class: article %>%=>
# ↓ HTMLでの出力結果
SAMPLE_FORMのテスト
こんにちは。
これは SAMPLE_FORMのテストです。
%> |
出力結果を変数に格納する - captureメソッド
captureメソッド
を使うとテンプレートの一部を変数に格納できる。
- @var = capture do = "Current datetime is #{Time.now}." end
= @var %div{style: 'color: red;'}= @var
|
前のページに戻る - url_for(:back)
url_for(:back)
を使うと、現在のページへのリンク元ページ(Referヘッダ)へのリンクを作ってくれる。Referヘッダが空の場合は、JavaScript: history.back()
でブラウザで表示した履歴のひとつ前のページへ戻ります。
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!