2011-12-16 12 views
7

ruby​​スクリプトの内側またはレールコンソールから部分的にレンダリングすることはできますか?ruby​​スクリプトやコンソールから部分的にレンダリングする

これを行うにはどうすればいいですか?

+1

が(同様のだと、非常に複雑になるでしょう

response = Haml::Engine.new(File.read("#{partial.html.haml")).render 

:例えばそのHAMLは次のようなものになるだろう場合良い)[質問](http://stackoverflow.com/questions/151030/how-do-i-call-controller-view-methods-from-the-console-in-rails)ここにSO – maprihoda

答えて

4

部分的には何がありますか、どのような方法で呼び出されますか。しかし基本的には、テンプレートエンジン(erb、haml)とその呼び出し(他の内部APIなどを呼び出す場合)を見なければなりません。 また、データベースから(activerecordを使用して)データを取得する場合は、スクリプト内でデータベースへの接続を確立し、データをフェッチする必要があります。

ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => '#{YOUR_DATABSE}' 

接続を確立したら、必要なすべてのデータを部分的にフェッチします。

それ以外は、レンダリングはかなり基本的です。

def render(*args, &block) 
    self.response_body = render_to_string(*args, &block) 
end 

render_to_stringは、それをhtmlに変換するためにテンプレートエンジンを呼び出す予定です。あなたの部分的な呼び出した場合は、レールのAPIの任意のコピーする必要がある/またはそれらのAPIを含めると、それは

関連する問題