HAML ビュー内に があるかどうかをチェックする if ステートメントがありflash[:notice]
ます。これは可能ですか?
質問する
3232 次
2 に答える
1
なぜこれをあなたの見解に入れるのですか?application.js
これは、 (またはパイプラインに含まれている他のJSファイル)のJavascriptを使用して実行できます。Javascriptをビューに直接配置することは本当に避けてください(これは一般的に悪い習慣です)。次のHAML
#flash= flash[:notice]
次のようなHTMLを生成します
<div id="flash">Your notice message here</div>
あなたの中でapplication.js
あなたはこのようなことをすることができます
$(function() {
if ($('#flash').get(0)) { // check if the div exists
alert($('#flash').text()); // throw an alert() with the div's text
}
});
これは目的にかなうかもしれませんが、フラッシュメッセージのテキストをHTMLにまったく表示したくない場合は、これを行うためのより良い方法があります(つまり、フラッシュメッセージをに追加されたJavascript変数に割り当てる<head>
)<script>
鬼ごっこ。)
于 2013-02-24T21:06:26.133 に答える
0
少し不格好ですが#{}
、HAMLのjavascriptフィルター内で次のように使用できます。
- unless flash[:notice].empty?
:javascript
alert("#{flash[:notice]}");
于 2013-02-24T21:07:45.263 に答える