私はこれを理解しようとしている最後の2日間私の頭を叩いて、私は最終的にソースを絞り込んだ。Rails 3.1 html_safe(+文字列データのコンボ) - コントローラーアクションを2回発射しますか?
私はサイドバーのhtmlを生成し、戻り値にhtml_safeを使用するヘルパーを使用しています。私はちょうど正しい方法で構造化されたhtmlを持っていると、コントローラーのアクションが2回発生します(私は2つのレコードを自分のアクションからdbに挿入してから、ruby-debugを使って確認しました。ここではヘルパーのコードは次のとおりです。
def get_sidebar
first = String.new
second = String.new
str = String.new
str+= "<a href=''><img src='" << first << second << "'></a>"
str.html_safe
end
私はstrの修正とconcat'd VARS前と後からimgタグを削除した場合、それは一度だけ発生させます。 concat'dのvarsが空でない場合、それは一度だけ発生します(これらはもともとNULLではないdbカラムから出てきましたが、空の文字列でした)。 html_safeメソッドを呼び出さないと、一度だけ起動します...
何が起こっているのですか?これはhtml_safeの動作ですか?私は狂ってる?
ありがとうございます!
ありがとうございました。なぜアクションが2回発射されるのか?文字列が正しくフォーマットされていないと、奇妙な動作のようです。 – Jason
あなたはどのビュージェネレータを使用していますか?ハムル? – freeze
Rails 3.1のデフォルトのerbビューだけです。 – Jason