我想使用我的分页更改params [:offset]参数(数字1,2,3,4,5)。对于每个Number,:offset应该增加/减少10,以便我得到接下来的10个搜索结果:
"<% text_field_tag :offset, params[:offset] || 0 %>"
要做到这一点,我写了这个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;
}
....
在视图中我添加了这个div:
"<div id="skip"><br> </div>"
而不是在代码中使用我的params哈希,文本显示在我的页面上,就好像注入的&lt;%ruby code%&gt;不再是ruby代码,只是文本。
如何通过单击分页链接注入一些更改的ruby代码?
或者我怎么能改变我的params值,否则点击分页链接?
答案 0 :(得分:3)
如果我理解你的问题,你就不能。
Ruby代码在服务器上执行。
页面JavaScript由客户端(webbrowser)执行。
随着JavaScript执行,它已经被Ruby解释器解析了。