我是ember js的新手。我试图在我的ember项目中使用动态段并且它给了我一个错误。我在浏览器中尝试了localhost / 4200 / profile / john以获取“john”的信息。我认为它抱怨服务器中的api终点.js ..请帮我找一下我做错了。
控制台中显示错误:
获取本地主机:4500 / api / users / john 404(未找到)
这些是我的文件;
router.js
Router.map(function() {
this.resource('profile', { path: '/profile/:username' });
});
模型/ user.js的
import DS from 'ember-data';
export default DS.Model.extend({
docType:DS.attr('string'),
firstName:DS.attr('string'),
userName:DS.attr('string'),
password:DS.attr('string'),
lastName:DS.attr('string'),
mobileNo:DS.attr('string'),
landNo:DS.attr('string'),
address:DS.attr(
{
no:'string',
street:'string',
city:'string'
}
),
nicNo:DS.attr('string'),
created_at:DS.attr('date'),
updated_at:DS.attr('date')
});
路线/ profile.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params, transition) {
return this.get('store').find('user', params.username);
}
});
server.js
app.get('/api/users', function(req,res) {
UserModel.find({},function(err,docs) {
if(err) {
res.send({error:err});
}
else {
res.send({user:docs});
}
});
});
模板/ profile.hbs
<h2>Welcome user</h2>
{{#each item in model}}
{{item.userName}}
{{/each}}
答案 0 :(得分:1)
您需要在应用程序中添加适配器并告诉它API的位置。
//app/adapters/application.js
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
namespace: 'api' //All requests will be made to api/*
});
请注意我给你的例子是使用JSONAPI适配器(Ember 2.0),但是还有一个RESTAdapter,你必须为你选择合适的。