javascript - Rails j 局部渲染

标签 javascript jquery ruby-on-rails ajax ruby-on-rails-3

我正在尝试使用 Ajax 呈现部分内容,我在其中使用 locals 将相关的 Javascript 对象发送到部分内容。不幸的是,我在发送对象时遇到问题,并且不断收到错误“未定义的局部变量”。

Controller :

class TransportationController < ApplicationController
    respond_to :html, :js, :json 

创建.js.erb

function getRates(){
    $.ajax( {
      ...
      (code cut out that's irrelevant to question, but this request succeeds)
      ...

      success: function( json ) {
        json.prices.forEach(function(price){
                $("#my_list").append("<%= j render :partial => 'my_item', :locals => {price: price} %>");
            });
            ....    
};

_my_item.html.erb:

    ....
        <h1><%= price.display_name %></h1>
    ....

错误:(NameError - 未定义的局部变量或方法“价格”)

如果能帮助解决这个问题,我们将不胜感激!我以为我做对了

最佳答案

无需在 Ajax 成功 block 中定义 html View ,您可以将 .js 文件与将呈现部分 html 的 Controller 操作相关联。希望它对您有用。

关于javascript - Rails j 局部渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32675372/

相关文章:

javascript - 当点向下钻取时获取 Highcharts 中点击点的名称

javascript - 如何隐藏单个选择的jquery搜索?

ruby-on-rails - Ruby on Rails 4 fields_for 重复次数

ruby-on-rails - Mocha : Can I put a "never" expectation on a stubbed method WITH parameters?

ruby-on-rails - Has_many 通过 Rails 5 中的参数

javascript - 在主干中捕获超时事件

javascript - 在php中获取方法然后将值传递给json格式

javascript - 将内容包裹在父元素中

javascript - 如何在页面刷新时保持单选按钮处于选中状态

javascript - weblogic 取消部署应用命令行