从Javascript对象Ember获取属性
我有一个Rails和Ember应用程序,有两个模型,分别是图像和项目。图像属于项目,项目有许多图像 我试图返回给定项目中要显示在项目索引页上的第一个图像,但似乎找不到图像对象 目前我有以下几点:从Javascript对象Ember获取属性,javascript,ruby-on-rails,ember.js,ember-data,Javascript,Ruby On Rails,Ember.js,Ember Data,我有一个Rails和Ember应用程序,有两个模型,分别是图像和项目。图像属于项目,项目有许多图像 我试图返回给定项目中要显示在项目索引页上的第一个图像,但似乎找不到图像对象 目前我有以下几点: app/assets/javascripts/templates/projects.js.emblem section#portfolio .container .row .col-xs-8.col-xs-offset-2 .row each
app/assets/javascripts/templates/projects.js.emblem
section#portfolio
.container
.row
.col-xs-8.col-xs-offset-2
.row
each project in controller
.col-xs-12.col-sm-6
p = project.firstImage
link-to 'project' project
h4.text-center.text-uppercase
= project.client
h5.text-center
em
= project.tags
app/assets/javascripts/models/project.js
App.Project = DS.Model.extend({
name: DS.attr('string'),
client: DS.attr('string'),
tags: DS.attr('string'),
description: DS.attr('string'),
start_date: DS.attr('string'),
end_date: DS.attr('string'),
images: DS.hasMany('image'),
projectDuration: function() {
return this.get('start_date') + ' - ' + this.get('end_date')
}.property('start_date', 'end_date'),
firstImage: function() {
var projectImages = this.get('images');
var projectImage = projectImages.get('firstObject');
return projectImage;
}.property('images')
});
图像的属性为id、project\u image,它是URL和project\u id的字符串
当前设置将在视图中显示正确的对象,但我似乎无法从该对象中获取项目\图像字符串
任何帮助都将不胜感激:
抱歉,忘记分享我的图像模型
app/assets/javascripts/models/image.js
App.Image = DS.Model.extend({
_project_image: DS.attr('string'),
_project_id: DS.attr('number'),
project: DS.belongsTo('project')
});
在handlebar.js中,您可能会这样做--您没有共享图像模型的代码。感谢您在这方面的帮助,通过查看我自己的图像模型,我可以看到,当从rails API传递它时,我正在向所有属性添加和。这是为了在到达Ember时正确设置JSON数据格式,但我忘记了在视图中的属性中添加下划线。感谢您帮助我注意到: