【パーフェクト Ruby on Rails】を読む - その10
2-5 ビュープレートについて
2-5-1 ヘルパーメソッドの利用
- ヘルパーメソッド ViewをよりシンプルにDRYに書くための、Railsで用意されたモジュール。基本的にはviewをhelpしてくれるもの。自分で作ることもできる。
$ rails routes
コマンドを打つと表示されるPrefix
とVerb
以下に記載されている部分(例えばuserやprofileなど)に_path
や_url
などをviewファイルで付け足す事で、その行きたいviewページまでのurlを簡単に指定することが出来ます。
※ただしコンソール上で試したい時は先頭にapp.profile_url
というようにします。
一部抜粋
- url_for
- link_to
- form_with
- stylesheet_link_tag
- javascript_pack_tag
- time_ago_in_words
- number_with_delimiter
trメソッド
p106 独自ヘルパーメソッドの定義の項目のコード
# app/helpers/application_helper.rb module ApplicationHelper def to_hankaku(str) str.tr("A-Za-z", "A-Za-z") end end
全角英文字を半角に変換するヘルパーメソッドでtrメソッド
について学びました。
今回の場合はtr("A-Za-z", "A-Za-z")
でハイフンの左辺から-
の右辺までを指定しています。A-Zで大文字の範囲指定を行い、a-zで小文字の範囲指定を行なっています。大文字と小文字の間に区切りがなかった事で、初見では戸惑いました。
エスケープ処理
フォーム画面にscriptタグなどを書いても基本的には処理されません。これはRails側で守ってくれているのでやらなくても良い事ですが、意図的にエスケープ処理をしないようにする事もできます。
rawヘルパーメソッド
<%= raw "<script>alert('sample');</script>" %>
MVCについてのまとめ
参照
ヘルパーメソッド
https://qiita.com/Yukaaaah/items/19e524fd0c0e4a3451f1
Ruby 3.0.0 リファレンスマニュアル instance method String#tr
https://docs.ruby-lang.org/ja/latest/method/String/i/tr.html