这看起来应该很简单,但我似乎无法弄清楚这一点(对Ember来说是新的)。我有一个json文件,我用它来将数据加载到带有把手的ember模板中。我试图通过访问/ site / id /它来加载基于json文件中的id的数据。现在,它加载我的json但只从第一个json条目获取数据。所以无论什么/ site / anyhere /,都会加载这些数据。我试图让它充满活力。
我认为我的问题与没有在ember中正确设置模型有关。我已经看过文档和教程谈论模型:属性和传递(params)以及什么不是,但我似乎无法在我的站点模型或路由中获得任何工作。
这是我的代码......
Router.js.coffee:
App.Router.map ->
@resource 'site', ->
@route 'show', path: '/:site_id'
routes.rb中:
#routes.rb
Rails.application.routes.draw do
root to: 'home#index'
scope constraints: { format: :html } do
get '/site' => 'home#index'
get '/site/:site_id' => 'home#index'
resources 'sites'
end
end
sites_controller.rb:
class SitesController < ApplicationController
def show
render json: File.open('data/sites.json').read
end
end
模型/ site.js.coffee:
App.Site = DS.Model.extend()
数据/ sites.json
{
"site": [
{
"id": "1",
"name": "Place One",
"type": "Type One"
}, {
"id": "2",
"name": "Place One",
"type": "Type Two"
}
]
}