我有一个使用 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 中对它的请求返回的模型甚至不存在该属性。