Javascript 在 Javascript 中的 HAML 中

Javascript in HAML in Javascript

我有一个问题以前可能有人问过,但我找不到合适的描述。我希望有人能帮助我。

在下面我设置 var price 的代码中,我想添加 javascript 变量 accu_id 以通过 rails 在我的数据库中查找记录。我如何在 javascript 中的嵌入式 rails 中执行此操作?

 :javascript
    $('#accu').change(function() {
      var accu_id = $("#accu")[0].selectedOptions[0].value
      var price = "#{currency(Product.find_by(id: accu_id).price2)}"
      $('#price_accu').append(price)
    });

或者有更简单的方法吗?

你有两个选择。

  1. 您可以使用AJAX请求从数据库中获取数据
  2. 您可以使用如下映射概念

    var data = @processed_data // json 数据,其中包含 json 格式的处理数据。
    var accu_id = $("#accu")[0].selectedOptions[0].value
    var 价格 = data.accu_id;

@processed_data 包含如下数据

@processed_data = currency_calculation

def currency_calculation
   Product.all.map { |product| [product.id, currency(product.price2) ] }.as_json 
end

例子

假设产品 table 有两个条目,那么 @processed_data 包含如下值

{ "1" => "20.00", "2" => "25.50" }

上面的数据直接赋值给js变量data并像data.key

一样访问

第一个选项是最佳选择,第二个选项是可能的。

注意 : 不能在ruby.

里面使用js变量