Ember Rails URL路由

时间:2014-09-26 18:42:12

标签: ruby-on-rails ember.js

我有一个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
)

0 个答案:

没有答案