前提
railsの勉強をしています。
結論から言うと
「ヘルパーディレクトリで作ったメソッドはビューで使えるのでしょうか?」
と言う質問です。
どういうことか説明します。
railsチュートリアルという教材の中で、
Railsでは、インスタンス変数をコントローラ内で宣言するだけでビューで使えるようになる、といった点に主な利用価値があります。ただ一般的には、そのクラス内であればどこからでもアクセスできる変数として使われます
といった説明文があります。
こんな感じでヘルパーディレクトリで作ったメソッドは、コントローラで宣言されたインスタンス変数のようにビューで使えるのでしょうか?ということです。
具体的にいうと、以下のコードを見てこのような疑問が湧きました。
ruby
1// ファイルの場所 app/views/layouts/_header.html.erb 2・ 3・ 4<li><%= link_to "Settings", edit_user_path(current_user) %></li> 5・ 6・
このcurrent_user
を定義しているファイルの場所は「app/helpers/sessions_helper.rb」です。
つまり、ヘルパーディレクトリで作成したメソッドはビューでも使えるようになっているということですよね?
私の解釈だと、
「ヘルパーはコントローラの中で使うメソッド(機能、部品)を作る場所で、コントローラはヘルパーで作られたメソッドを使っていろんなアクションを促す場所(いろんな命令を出す場所)である。
つまり、「railsの教材よりコントローラとビューは繋がっている」と「コントローラとヘルパーは繋がっている」ということから、ビューとヘルパーは繋がっていると言える。
従って、ヘルパーで定義したメソッドはビューで使うことができる。
(ちなみに、別にヘルパーでメソッドを作らないで、コントローラで命令の流れ?などを書いてもいいが、それだとコードを読みづらいし、メンテナンスしにくい。)」
といった感じなんですけど、当ってますか?
以上よろしくお願いいたします。
あなたの回答
tips
プレビュー