提问人:Ben 提问时间:6/11/2023 更新时间:6/11/2023 访问量:27
将 json 从 rails 传递到 coffeescript
Passing json from rails to coffeescript
问:
我正在尝试解开我几年前写的一些代码。我以为一切都在工作,但后来我升级到了 Rails 7,并开始在一个页面上遇到一些奇怪的错误。
工作代码:
maps_controller.rb
def grid
@grids = Grid.select("id, geom, grid_name").where("ispub is true").order("id")
feature_collection = Grid.to_feature_collection @grids
@geojson = RGeo::GeoJSON.encode(feature_collection)
respond_to do |format|
format.json { render json: @geojson }
format.html
end
end
grid.coffee咖啡
$.ajax
dataType: 'text'
url: 'grid.json'
success: (data) ->
L.geoJSON(JSON.parse(data), style: gridStyle, onEachFeature: onEachFeature ).addTo map
error: ->
alert "Failed to load AJAX data"
这似乎根据 Chrome 中的开发人员工具传递了一个名为 grid.json 的文件
非工作代码
plants_controller.rb
def map
@pId = params[:id]
if @pId.present?
@plants = Plant
.where(id: @pId)
feature_collection = Plant.to_feature_collection @plants
else
@plants = Plant
.order(:id)
.eager_load(:genus, :type, :gis, :detail)
.find_not_dead
.find_grid
.where(["types.type_name not LIKE ? and types.type_name not LIKE ? and gis.geom is not null", "A%", "B%"])
end
feature_collection = Plant.to_feature_collection @plants
@geojson = RGeo::GeoJSON.encode(feature_collection)
respond_to do |format|
format.json { render json: @geojson }
format.html
end
end
植物咖啡
$.ajax
dataType: 'text'
url: map.json
send: () ->
$('#loading').show()
complete: () ->
$('#loading').hide()
这似乎在Chrome中为每个开发人员工具创建了一个映射文件(没有.json扩展名)。
任何帮助理解为什么第二个不起作用都会很棒。已经有几年了
答: 暂无答案
上一个:基于json数据元素动态创建表单
评论
dataType: 'text'
dataType: 'json'