fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > view ファイルの拡張子の優先順位 rhtml, rxml, rjs

 ← 画面に HTML じゃなくてテキストを表示する方法 | TOP | find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます!

view ファイルの拡張子の優先順位 rhtml, rxml, rjs 

2007年08月07日 ()
同じ名前の view ファイルがあったら、拡張子が rhtml, rxml, rjs の順に読み込まれますよ、という話。

通常、コントロールのメソッド名と同じ view ファイルが読み込まれますね。

例えば、↓のようなコントローラがあったとして

class LoginController < ApplicationController
  def do_login
    some_login_method
  end
end



そして、ブラウザで、http://www.example.com/login/do_login みたいにアクセスして、login コントローラの do_login メソッドを呼び出します。

そうすると、do_login メソッドの処理が全部終わると、app/view/login/ ディレクトリにある

do_login.rhtml か
do_login.rxml か
do_login.rjs

ファイルを読みに行きます。このファイルがなかったら Template is Missing エラーが出ます。

じゃあこの場合、app/view/login/ ディレクトリに、

do_login.rhtml も
do_login.rxml も
do_login.rjs も

存在する場合、一体どのファイルがブラウザに表示されるのでしょうか。

で、それは、

do_login.rhtml

です。

rhtml, rxml, rjs の順で優先順位が決まっているようです。

じゃあ、

do_login.rhtml も
do_login.rxml も
do_login.rjs も

存在するけど、とにかく do_login.rjs を最優先で表示させたい、という場合は、

  def do_login
    some_login_method
    render(:file => 'do_login.rjs')
  end



と書くことになります。

以上、太平洋に浮かぶ南国の楽園エロマンガ島よりお伝えいたしました。任天堂 wii でも発見できるらしいよ!

【広告】

[2007.08.07(Tue) 11:39] RubyOnRails(Controller)Trackback(0) | Comments(0)
↑TOPへ

 ← 画面に HTML じゃなくてテキストを表示する方法 | TOP | find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます!

COMMENT

COMMENT POST















管理者にだけ表示

 ← 画面に HTML じゃなくてテキストを表示する方法 | TOP | find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます!