【问题标题】:Passing data from javascript into .erb将数据从 javascript 传递到 .erb
【发布时间】:2013-06-03 14:08:37
【问题描述】:

我想知道这是否可能。我有一些 javascript 代码根据我的 Rails 2.3.17 应用程序中的信息呈现页面。这段代码是继承的,不是我自己的。问题是我试图从服务器获取有关我在运行时不知道的对象的数据。基本上我正在尝试这样做:

var record_id = 73; 
if(<%= DataTable.find(record_id).value_of_record.nil? %>{
    ...
}else{
    ...

record_id 是我想在运行时使用 javascript 传递给 .erb 选择的内容。这可能吗。如果没有,有什么方法可以从 javascript 调用信息来获取在 .erb 文件中传递的记录的 id? id 当前存储在 html 文档中。

【问题讨论】:

  • 不,这是不可能的。您可以将 Ruby 变量传递给 Javascript,但反过来不能这样做。您需要 Ajax(使用 record_id 向服务器发出请求,并在那里进行 ruby​​ rails 检查,然后将答案发送回 javascript)。
  • 我现在正在尝试这样做。你知道如何使用prototype.js 获取查询结果吗?这显然是他们正在使用的,我不知道查询字符串的正确语法。
  • Arf 我不太了解prototype.js...你的应用程序中有jQuery吗?您使用的 Rails 版本是什么?
  • 我使用的是 rails 2.3.11。该应用程序专门使用prototype.js。有点老了。

标签: javascript ruby-on-rails


【解决方案1】:

正如 Yoshiji 先生所说,您可以使用 ruby​​ 代替,所以请执行以下操作:

var record_id = <%= record_id = 5 %>; 
if(<%= DataTable.find(record_id).value_of_record.nil? %>{
    ...
}else{
    ...

在 ruby​​ 中初始化一个变量会返回该值,因此它将变为 var record_id = 73;,并且 ruby​​ 变量现在可用于 find 方法。

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 2016-02-08
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多