我有一个EmberJS / Ruby on Rails应用程序,它应该根据站点ID(在我的json数据中)加载不同的数据。 mysite.com/site/1/应该根据id为1的json条目加载数据。
我有我的模型和路线设置,我的页面当前加载数据。问题是它总是从我的第一个json条目加载数据" id":" 1。"示例:/ site / 2 /加载/ site / 1 /应该只显示。
从ember控制台看到的数据: http://pbrd.co/ZYyfw1
从ember控制台看到的路线: http://pbrd.co/ZYy4AY
余烬js:
App.Router.map ->
@resource 'site', ->
@route 'show', path: '/:site_id'
App.Router.reopen
location: 'history'
rootURL: '/'
attr = DS.attr
App.Site = DS.Model.extend(
name: attr('string')
type: attr('string')
street: attr('string')
city: attr('string')
state: attr('string')
zip: attr('string')
phone: attr('string')
email: attr('string')
hours: attr('string')
)
我的json通过rails控制器进入:
class SitesController < ApplicationController
def show
render json: File.open('data/sites.json').read
end
end
{{name}}和{{type}}目前效果很好,但不是动态的。如何根据:site_id ??
设置ember加载数据我怀疑我需要这样的东西,但它似乎不起作用。也许是因为我的json是通过rails渲染而不是ember?
App.SiteShowRoute = Ember.Route.extend(model: (params) ->
@store.find "site", params.site_id
)