我很难把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
...
https://stackoverflow.com/questions/33852428
复制相似问题