同じ名前の 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 でも
発見できるらしいよ!
【広告】
認識されないのかないことになっています。
どうしたらよいと思いますか?