私のページ番号(Numbers 1,2,3,4,5)を使用してparams [:offset]パラメータを変更したいとします。すべての番号を持つ:Javascriptの注入を使ってルビコードを変更するには?
search.js
var zero = 0;
var offset = "<% text_field_tag :offset, params[:offset] || " + zero + " %>";
document.getElementById("skip").innerHTML = offset;
function changeoffset1() {
var a = document.getElementById('first').text;
var b = parseInt(a);
zero = (b - 1) * 10;
var offset = "\<\% text_field_tag :offset, params[:offset] || " + zero + " %>";
document.getElementById("skip").innerHTML = offset;
}
function changeoffset2() {
var c = document.getElementById('second').text;
var d = parseInt(c);
zero = (d - 1) * 10;
var offset = "\<\% text_field_tag :offset, params[:offset] || " + zero + " %>";
document.getElementById("skip").innerHTML = offset;
}
....
:
"<% text_field_tag :offset, params[:offset] || 0 %>"
これを行うために、私はこのJavaScriptコードを書いた:私は次の10の検索結果が得られるようにオフセットは10で/減少を増やす必要があります
とビューで、私はこのdiv要素を追加しました:
"<div id="skip"><br> </div>"
の代わりにwが私のparamsハッシュを使用することができることを私のコードでは、注入された文字がruby code%>がテキスト以外の文字でない場合と同じように、テキストは私のページに表示されます。
ページ分割リンクをクリックして変更されたルビコードを挿入するにはどうすればよいですか?
または、ページ設定リンクをクリックすると、私のparamsの値を変更できますか?
フォーマットを修正する必要があります。あなたの質問は今では判りません。 – TankorSmash
Google Ruby Metaprogramming – MikeJRamsey56
Rubyが最初に実行され、その後* JavaScriptが実行され、Rubyが再び実行される第3パスはありません。これを修正する方法は、操作の順序に関して何をしようとしているのか把握することです。 'text_field_tag'は、HTMLのリテラルチャンクを生成します。それは私が知らないJavaScriptでどのように役立つのですか?クライアント側のテンプレートを使用する場合は、[Handlebars](http://handlebarsjs.com)のようなものを試してみてください。 – tadman