1

Rails 3.2 アプリには、Ajax 経由で送信されるフォームがあり、フラッシュ メッセージ経由でユーザーにフィードバックが提供されます。

これにアプローチするには、2 つ (またはそれ以上?) の方法があります。

コントローラーで定義format jsしてから、フラッシュメッセージの部分をリロードできます

#template.js.erb
`$(".flash-container").html("<%= escape_javascript(render partial: 'shared/flash_messages') %>");`

または、jquery 関数 (例: this ) からフラッシュ html をレンダリングすることもできます。

私の質問は、どちらのアプローチにも利点または欠点はありますか?

jquery 関数がどのように機能するかは理解していますが、js アプローチを使用して Rails の内部で何が起こっているかを (まだ) 完全には理解していません。パフォーマンスへの影響はありますか?

あるアプローチは、他のアプローチよりも「Railsy」と見なされますか?

他の人がこれにどのようにアプローチするか、そしてどのアプローチが好ましいかを知りたいと思っています。

4

1 に答える 1

0

コントローラーで作成します

respond_to do |format|
    format.js { render 'your_js_file' }
end

同様に、レンダリングする js.erb にあるものは、あなたがしていることを行うための最良の方法です。

1: 最も一般的な方法であり、コードを読んだ他の人は何が起こっているのかをよりよく理解できます。私は多くの人がこの方法でこの方法を行っているのを何度か見てきました。"接吻"

2:あなたが示した2番目の方法については、「見栄え」が良いですが、まだそれを理解できておらず、コードのクールさと同じくらいの重みを保持する必要がある読み取り能力について説明するデバッグの必要性を感じているためです。見えます。デバッグする必要がある場合は、この方法を考えてください。コードを読む他の人も同様です。

時には最善の方法は、あなたが知っている方法です。

于 2013-02-15T04:18:01.667 に答える