不知何故,该参数user_id未传递给我的UserIndexRoute.怎么可能出错?
我得到的错误是
断言失败:您不能将
undefinedid作为id 传递给商店的find方法
router.js
var Router = Ember.Router.extend({
location: DaappEmber2ENV.locationType
});
Router.map(function() {
this.resource('users', function(){
this.resource('user', { path:'/:user_id' }, function(){
this.route('edit');
});
this.route('create');
});
});
Run Code Online (Sandbox Code Playgroud)
导出默认路由器;
路由/用户/ index.js
export default Ember.Route.extend({
model: function(params){
Ember.Logger.debug('Params for user/index route:', params);
return this.store.find('user', params.user_id);
}
});
Run Code Online (Sandbox Code Playgroud) 在命令行中执行以下步骤以使用节点安装Ember CLI,Firebase和EmberFire后,我收到一条错误消息,指出未在app/adapter/application.js中定义Firebase
npm install -g ember-cli
npm install -g bower
npm install -g phantomjs
ember new my-new-app
cd my-new-app
ember server
Run Code Online (Sandbox Code Playgroud)
此时我可以在localhost上看到我的ember应用程序的默认输出"Welcome to Ember.js":4200
npm install firebase
npm install —save ember-fire
ember generate adapter application
Run Code Online (Sandbox Code Playgroud)
然后在app/adapter/application.js中,删除"export default DS.RESTAdapter.extend({});"并粘贴"export default DS.FirebaseAdapter.extend({firebase:new Firebase('https://.firebaseio. com')});"使用我自己的firebase URL
ember server
Run Code Online (Sandbox Code Playgroud)
然后我在终端收到错误:
Serving on http://0.0.0.0:4200
lionworxs/adapters/application.js: line 4, col 17, 'Firebase' is not defined.
1 error
===== 1 JSHint Error
Path or pattern "vendor/firebase/firebase.js" did not match any files
Error: Path or pattern "vendor/firebase/firebase.js" did not …Run Code Online (Sandbox Code Playgroud) 我在ember-cli应用程序中使用ember-simple-auth进行身份验证.似乎ember-simple-auth将会话存储在本地存储中,这似乎并不安全.
我有以下两个问题:
谢谢.
我遇到了一个问题,我无法在我的Ember CLI应用程序中正确显示嵌套插件.我想要的视图树如下:
这与Ember Starter Kit中的"application> posts.index> post"层次结构非常相似.我想要的行为是当我导航到client_availabilities.index时出现在"mainoutlet"中的client_availability列表,然后当我在"suboutlet"中调出一个单独的client_availability时,它会持续存在.
容易,对吗?这是默认行为以及为什么我们都喜欢Ember.但是,我似乎无法让它发挥作用.当我在client_availabilities.index中明确地指定我的命名子输出并单击单个client_availability时,任何插座中都没有显示任何内容:
/app/template/application.hbs:
{{link-to 'Client Availabilities' 'client_availabilities'}}
{{outlet 'mainoutlet'}}
Run Code Online (Sandbox Code Playgroud)
/app/template/client-availabilities/index.hbs:
{{outlet 'suboutlet'}}
Run Code Online (Sandbox Code Playgroud)
/app/routes/client-availabilities/index.js:
import Ember from 'ember';
export default Ember.Route.extend({
renderTemplate: function(){
this.render({
into: "application",
outlet: "mainoutlet"
});
},
model: function() {
return this.store.find('client_availability');
}
});
Run Code Online (Sandbox Code Playgroud)
/app/routes/client-availability.js:
import Ember from 'ember';
export default Ember.Route.extend({
renderTemplate: function(){
this.render('client_availability', {
into: "client_availabilities",
outlet: "suboutlet"
});
},
model: function(params) {
return this.store.find('client_availability', params.client_availability_id);
}
});
Run Code Online (Sandbox Code Playgroud)
或者,当我在应用程序中定位我的mainoutlet时,client_availability出现在"suboutlet"client_availabilities.index从"mainoutlet"中消失:
/app/template/application.hbs:
{{link-to 'Client Availabilities' …Run Code Online (Sandbox Code Playgroud) 自http://emberjs.com/blog/2015/05/13/ember-1-12-released.html上的最新Ember版本发布以来,似乎有一种新的setter和getter方法语法.
我们应该习惯这样做:
fullName: Ember.computed('firstName', 'lastName', function() {
return this.get('firstName') + ' ' + this.get('lastName');
})
Run Code Online (Sandbox Code Playgroud)
代替:
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
}.property('firstName', 'lastName')
Run Code Online (Sandbox Code Playgroud) 我正在使用soundCloud json为用户收藏的歌曲.
你可以在这里看到它

我可以访问我的收藏夹曲目,但我无法访问用户ID和用户名.
这里我使用的代码返回我最喜欢的属性,我已经评论了无法返回用户属性的代码.
我在控制台中收到此错误"Uncaught TypeError:item.user.forEach不是函数"
我究竟做错了什么?它是访问我的用户属性的正确方法吗?
model: function(params) {
var artist, favoriteListProxy, self;
self = this;
artist = params.artist;
this.controllerFor('application').set('artistName', artist);
favoriteListProxy = Ember.ArrayProxy.create({
content: []
});
return new Ember.RSVP.Promise(function(resolve, reject) {
return SC.get("/users/" + 'mannaio' + "/favorites", {limit: 40}, function(favorites) {
if (favorites.length) {
favorites.forEach(function(item, index, arr){
var favorite;
favorite = self.createFavoritelist(item, favoriteListProxy);
// return item.user.forEach(function(user, index, arr){
// return user = self.createUser(user, favorite);
// });
});
favorites = favoriteListProxy.get('content')
return resolve(favorites);
}
});
});
}, …Run Code Online (Sandbox Code Playgroud) 这个问题类似于未答复的扩展链接.
我正在尝试扩展{{link-to}}帮助程序以输出其他属性绑定.但是,这些属性不会出现在我们的HTML中.继承人我们有:
//views/link-to.js (normally coffeescript)
import Ember from 'ember'
var LinkToView = Ember.LinkView.reopen({
attributeBindings: ['data-toggle', 'data-placement', 'title']
});
export default LinkToView;
Run Code Online (Sandbox Code Playgroud)
渲染的输出是这样的:
define('app/views/link-to', ['exports', 'ember'], function (exports, Ember) {
'use strict';
var LinkToView;
LinkToView = Ember['default'].LinkView.reopen({
attributeBindings: ['data-toggle', 'data-placement', 'title']
});
exports['default'] = LinkToView;
});
Run Code Online (Sandbox Code Playgroud)
当它被调用及其渲染输出时:
// Any .hbs file
{{#link-to 'account'
class='header-link'
data-toggle='tooltip'
data-placement='right'
title='Account'
}}
<span class="glyphicon glyphicon-cog" aria-hidden="true"></span>
{/link-to}}
// Rendered...
<a id="ember615" class="ember-view header-link" href="/account" title="Account">
<span class="glyphicon glyphicon-cog" aria-hidden="true"></span>
</a>
Run Code Online (Sandbox Code Playgroud)
我们哪里出错了?我知道它与解析器或我们如何调用它有关. …
我使用ember-cli v1.13.8创建了一个全新的项目.
我创建了一个新项目,然后为Ember 2.0调整了bower.json文件(它目前配置为Ember 1.13.8).运行后我收到以下错误bower install ember@2.0.0
bower ember-data#2.0.0 cached https://github.com/components/ember-data.git#2.0.0
bower ember-data#2.0.0 validate 2.0.0 against https://github.com/components/ember-data.git#2.0.0
bower ENOTFOUND Package ember@2.0.0 not found
Run Code Online (Sandbox Code Playgroud)
我也试过bower install ember#2.0.0并收到了这个错误(这里发布了部分消息):
bower ember#2.0.0 extract archive.tar.gz
bower ember#2.0.0 extract archive.tar.gz
bower ember#2.0.0 invalid-meta ember is missing "ignore" entry in bower. json
bower ember#2.0.0 resolved https://github.com/components/ember.git#2 .0.0
bower ember#2.0.0 invalid-meta ember is missing "ignore" entry in bower. json
bower ember#2.0.0 resolved https://github.com/components/ember.git#2 .0.0
bower ECONFLICT Unable to find suitable version for ember
Run Code Online (Sandbox Code Playgroud)
知道我的配置有什么问题吗?令人失望的是,它开箱即用.
安德鲁 …
在emberjs标签下有几个问题,讨论如何管理不同的环境,但所有问题都只适用于非常具体的场景.
我正在寻找一种如何为不同环境设置不同配置变量的通用解决方案.
比方说,我的开发环境有一个API URL,生产环境有另一个API URL .
production_api_url: "http://production.server.com/api"
development_api_url: "http://development.server.com/api"
Run Code Online (Sandbox Code Playgroud)
在我的适配器中,我想使用适当的API URL:
# /app/adapters/application.js
import ActiveModelAdapter from 'active-model-adapter';
export default ActiveModelAdapter.extend({
namespace: 'api',
host: [[API_URL]]
});
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用Ember-cli让moment.js库与Ember应用程序一起工作.注意我对ES2015相当新.
Ember 2.2.0 Ember-cli 1.13.13
我的ember-cli-build
/*jshint node:true*/
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
//options
});
app.import('bower_components/moment/moment.js');
return app.toTree();
};
Run Code Online (Sandbox Code Playgroud)
和我的.jshintrc
"predef": [
"document",
"window",
"-Promise",
"moment"
],
Run Code Online (Sandbox Code Playgroud)
和我的控制器
/* global moment:true */
import Ember from 'ember';
export default Ember.Controller.extend({
firstName: null,
lastName: null,
day: function () {
return moment('Dec 25, 1995');
}.property()
});
Run Code Online (Sandbox Code Playgroud)
我总是得到一个"时刻"尚未定义的错误.我读到最新的moment.js已经停止产生一个全球性的"时刻",但我不知道该怎么做.
构建工作.如果我拉出生成的vendor.js,我可以在其中看到moment.js文件的完整内容.但是当我在chrome调试器中查看vendor.js时,内容被省略.我不确定这是否是由于一些优化.
ember-cli ×10
ember.js ×10
ember-data ×2
javascript ×2
bower ×1
ember.js-2 ×1
emberfire ×1
environments ×1
firebase ×1
json ×1
npm ×1