**パスとURLヘルパーメソッド:**Prefixに_path
をつけるとドメインやポートなどを除いた/
から始まるパス部分を、_url
とするとドメインなどを含んだURLを返します。パス情報にidを含めたい場合は引数にハッシュ形式で値を指定します。
コンソールでURLの取得情報を確認することもできます。(app.
をつけて実行する)
irb(main):002:0> app.edit_profile_url
=> "<http://www.example.com/profile/edit>"
irb(main):003:0> app.edit_profile_path
=> "/profile/edit"
irb(main):004:0> app.publisher_url(id: 1)
=> "<http://www.example.com/publishers/1>"
irb(main):005:0> app.publisher_path(id: 1)
=> "/publishers/1"
このヘルパーメソッドを使用する例
url_for
:Webアプリケーションのパスを構築するためのヘルパーメソッド。url_for(edit_profile_path)
=> /profile/edit
# コントローラとアクション名を指定したパラメータ
url_for(controller: :profiles, action: :edit)
=> /profile/edit
# クエリパラメータを付与
url_for(controller: :profiles, action: :edit, id: 1234, detailed: 'true')
=> /profile/edit?detailed=true&id=1234
link_to
:aタグを生成するヘルパーメソッド。link_to("profile link", edit_profile_path)
=> <a href="/profile/edit">profile link</a>
link_to("profile link", controller: :profiles, action: :edit)
=> <a href="/profile/edit">profile link</a>
link_to("profile link", controller: :profiles, action: :edit, id: 1234, detailed: 'true')
=> <a href="/profile/edit?detailed=true&id=1234">profile link</a>
form_with
:フォームを構築するためのヘルパーメソッド。使用することでモデルの情報をもとに送信URLや対応する内容のフィールドを埋めたり、エラーを表示したりできます。
※ form_tag
はモデルと関係しない汎用的なフォームを生成します。
Action View フォームヘルパー - Railsガイド
stylesheet_link_tag
/ javascript_pack_tag
:スタイルシートやJavaScriptのタグを表示する場合に使用します。レイアウトファイルの中で利用されているので自分で記述する必要はありません。
time_ago_in_words
:ある時刻と現在時刻の間にどの程度のあきがあるかをわかりやすく表示するヘルパーメソッドです。(RailsのDateHelperで定められているヘルパー)
# ビューテンプレートで使用するとき
<%= time_ago_in_words(Time.current) %>
helperオブジェクト経由でメソッドを呼び出すことでコンソールで検証できます。
irb(main):007:0> helper.time_ago_in_words(Time.current)
=> "less than a minute"
irb(main):010:0> helper.time_ago_in_words(Time.now - 15.hours)
=> "about 15 hours"
irb(main):011:0> helper.time_ago_in_words(Time.now + 3.days)
=> "3 days"