我想将DOM元素的值和innerHTML源分配给本地ruby变量。 但是,在我的方法中我似乎无法利用RJS来完成这个功能。 我不知道哪种方法可以实现它,一句话就是:将一个js变量值赋给一个ruby局部变量,怎么做呢?
有限的情况是: page.assign只能将一个ruby变量值赋给js变量。 page []只能得到一个DOM元素对象,不能返回它的值或innerHTML
答案 0 :(得分:2)
您是说要通过RJS获取页面上某些元素的innerHTML,将其分配给Ruby变量,并在RJS文件的Ruby代码中使用它?例如:
# my_page.html <div id="foo">This is the content</div>
和
# my_page.js.rjs @some_var = page['foo'] # expecting to get "This is the content" do_something_amazing(@some_var)
这在RJS中是不可能的。原因是您的RJS代码首先在服务器上执行,然后将其呈现的结果发送到浏览器。
如果您需要在服务器端对DOM元素的内容进行操作,则需要通过表单发送这些内容到服务器。