【问题标题】:Can't get model property from Ember/Rails app无法从 Ember/Rails 应用程序获取模型属性
【发布时间】:2013-09-21 07:14:14
【问题描述】:

我有一个使用 ember-rails gem 的 Ember 应用程序,它可以创建记录并将其保存到数据库中。除了模型的一个属性之外的所有属性都可以在模板中呈现。由于某种原因,当 Ember 请求它时,没有发送“图像”属性。

new_route.js.coffee

App.NewRoute = Ember.Route.extend

    model: ->
        App.Post.createRecord()

    setupController: (controller, model) ->
        controller.set('content', model)

new_controller.js.coffee

App.NewController = Ember.ObjectController.extend
    templateName: "new"

    content: 
        title: @title
        image: @image
        body: @body

    actions: 

        createPost: ->
            @content.save()

post_route.js.coffee:

App.PostRoute = Ember.Route.extend
    model: (params) ->
        App.Post.find(params.post_id)

post.hbs:

<h1>{{title}}</h1>

{{imgtag image}}

{{markdown body}}

<p>{{author}}</p>

post.js.coffee

App.Post = DS.Model.extend
    title: DS.attr 'string'
    image: DS.attr 'string'
    body: DS.attr 'string'
    author: DS.attr 'string'

模型在 Rails 控制台中具有正确的属性,但在 Ember 中对它的请求返回的模型甚至不存在该属性。

【问题讨论】:

  • 您的 API 调用是否返回 image 的值?
  • @chopper 它返回模型的 JSON,但不存在 image 属性。
  • 那么这是您的 Rails 方面的问题。您是否确保在序列化程序中包含 :image ?能贴出相关代码吗?
  • @chopper 完美。序列化程序中缺少它。谢谢你的帮助,我现在觉得有点傻。
  • 没问题。我会将其添加为答案,以便我们结束此问题。

标签: ruby-on-rails ember.js ember-data ember-rails


【解决方案1】:

在您的序列化程序中包含 :image。

【讨论】:

    猜你喜欢
    • 2021-07-02
    • 2013-06-03
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    相关资源
    最近更新 更多