首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在rails 4中将模型数据嵌入javascript变量时出错

在rails 4中将模型数据嵌入javascript变量时出错
EN

Stack Overflow用户
提问于 2015-11-22 14:56:43
回答 1查看 61关注 0票数 1

我很难把JSON中的数据解析成rails。

无论如何,我正在尝试创建标记并将其显示到google地图中,但我一直收到以下语法错误

syntax error, unexpected ')'
...e_javascript raw '@job_json' -).to_s); _erbout.concat "\";\n"

map.js.erb

$(document).ready(function() {
  var mapEl = $('#map');
  var optimized = !mapEl.data('test-env');

  handler = Gmaps.build('Google');
  handler.buildMap({
    provider: {
      disableDefaultUI: false
    },
    internal: {
      id: 'map'
    }
  },
  function() {
    var jobJSON = "<%= escape_javascript raw @job_json -%>"; // ERROR MESSAGE HERE
    markers = handler.addMarkers([
      {
        // "lat": 50.827016,
        // "lng": 4.372516,
        "address": 'job.location', // data I want to display on the map
      }
    ], { optimized: optimized }); // true or false
    handler.bounds.extendWith(markers);
    handler.map.centerOn({
      lat: 50.1351162,
      lng: 2.8922343
    });
    handler.getMap().setZoom(6);

    if(!optimized) {
      // Add container for the markers for easy iteration
      // by doing $("#markers img").
      var myOverlay = new google.maps.OverlayView();

      myOverlay.draw = function () {
        this.getPanes().markerLayer.id = 'markers';
      };

      myOverlay.setMap(handler.getMap());
    }
  });
});

代码JobsController

class JobsController < ApplicationController
  before_action :set_job, only: [:edit, :update]
  def index
    @user = User.find(params[:user_id])
    @jobs = Job.all
    # @jobs = current_user.jobs.all
  end

  def show
    @user = User.find(params[:user_id])
    @job = Job.find(params[:id])
    @job_json = @job.to_json(only: [:location, :title, :id])
  end

  def new
    @jobs = Job.new
  end

  def create
    @user = User.find(params[:user_id])
    @job = current_user.jobs.build(job_params)
    @job.user = current_user

    respond_to do |format|
      if @job.save
        format.html { redirect_to @job, success: 'Job wiki was created!' }
        format.json { render json: @job, status: :created, location: @job }
        format.js
      else
        format.html { render action: 'new' }
        format.json { render json: @job.errors, status: :unprocessable_entity }
        format.js
      end
    end
  end
  ...
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33852428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档