我正在使用Rails API返回JSON,然后我在Ember app中的Entity
模型中使用它。
虽然这在localhost
上工作正常但是当我将应用程序部署到Heroku时它无效;它在控制台上显示此错误:
"Error while loading route: entities" "e.addArrayObserver is not a function"
"P<._setupArrangedContent@http://myappadress.herokuapp.com/assets/application-ac292d8e3f9c271670b08f58e5920cf3.js:14
这是我在Ember中的Entity
模型,它有一个get_by_addr
方法,用于从我的API访问JSON数据。
App.Entity = Ember.Object.extend({})
App.Entity.reopenClass get_by_addr: (addr) ->
$.getJSON("api/v1/entities?addr=" + addr ).then (response) ->
entities = []
a = App.Entity.create response
a
这是我的实体&#39;路线
App.EntitiesRoute = Ember.Route.extend
model: (params)->
App.Entity.get_by_addr(params.addr)
这是我在Rails中的applcation.js文件
//= require jquery
//= require jquery_ujs
//= require foundation
//= require ember_application
//= require_tree .
这是我的production.rb文件
Rails.application.configure do
# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = false
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
# Generate digests for assets URLs.
config.assets.digest = true
# Version of your assets, change this if you want to expire all your assets.
config.assets.version = '1.0'
# Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.assets.precompile += %w( search.js )
config.ember.variant = :production
答案 0 :(得分:0)
这是CoffeeScript的正确格式吗?我想在你then
之后你需要缩进一个级别。
App.Entity.reopenClass get_by_addr: (addr) ->
$.getJSON("api/v1/entities?addr=" + addr ).then (response) ->
entities = []
a = App.Entity.create response
第二件事,问题是如何传递addr
:如果它是来自记忆的link-to
,则params不会自动传递到id
之外。