2017-01-22 4 views
0

私はApplicationControllerにRailsのAplicationControllerトラブル

class ApplicationController < ActionController::Base 
    protect_from_forgery with: :exception 
    $banner = Banner.first 
    $template = Template.first 
end 

と私の_myfile.html.erbで

<%= $template.mainpage_benefits.html_safe %> 

でそれを持っている私の端末は、次のエラーが発生しました:

ActionView::Template::Error (undefined method `html_safe' for nil:NilClass 

私はドン」 before($ template = Template.first)。 、私はそれが

+0

'raw'メソッドを使用しようとしました – uzaif

+0

なぜ' $ template'の代わりに '@ template'を使用しないのですか? – uzaif

答えて

0

を使用してビューを修正して修正することができますどのように、私に説明してください:

<%= $template.mainpage_benefits ? $template.mainpage_benefits.html_safe : '' %> 

他の誰かがコメントで指摘したように、通常はこのような状況では、インスタンスが(@template)をvarsの使用することをお勧めします。

+0

これはバージョンコードが本番環境で動作するため、このコードを削除またはアップグレードできません。なぜ、このコードが稼働しているのですか?私のローカルマシンではそうではありません。このプロジェクトを変更せずにlocalhostから始めたいと思っています)) –

+0

$ template - 私のためのクラスです。問題はこちら)) –

+0

'rails console'を実行してください:' Template.first' - 'templates'テーブルが空であると思われるエラーから – Mat