人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Rails3について質問です。

form_forのAjaxを有効(:remote => true)にし、js.erbでjQueryを用いて「render :partial」した内容をページに埋め込ませています。
しかし、renderするViewに改行が含まれる場合、エラーが発生します。
(下記のようになり、エラーとなる)
■_fuga.html.erb
<b>aaa<b>
bbb

■fuga.js.erb
$('#hoge').html("j(render :partial => 'fuga')");

$.('#hoge').html("<b>aaa</b>
bbb");

JavaScriptでは、末尾に「/」を書くことで複数行に渡り記述することができるので、
Viewの改行前に「/」を入れて対処しています。
しかし、不格好であるため、もっとスマートな解決方法を探しています。
根本的に使い方が誤っている等でもよいので、アドバイスよろしくお願いします。

●質問者: hogesuke123
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Cherenkov
●200ポイント ベストアンサー

これはどうでしょう。
ヒアドキュメントによる複数行文字列の作成 - 文字列 - Ruby入門


hogesuke123さんのコメント
回答ありがとうございます。 問題になっているのは、Viewに改行を含む場合に、 JavaScriptの記述の途中に改行が入ってしまってエラーになってしまうことです。 ここでは、Rubyは問題にならないかと思います。

Cherenkovさんのコメント
>> <%= -%> や <% -%> のように書くと、タグの後ろにある改行が取り除かれます。 http://d.hatena.ne.jp/apo-co/20090728/p2 << こっちはどうですか

Cherenkovさんのコメント
http://blog.sugizou.com/post/5241830433/rails3-javascript-render-partial

hogesuke123さんのコメント
3つ目のコメントのurl先の載っている方法で試してみたところ、 期待した結果が得られました。ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ