我需要在我的ember应用程序中获取当前路由名称; 我试过这个: Ember App.Router.router.currentState未定义 但它对我不起作用(有可能是我想念的东西......)我使用Ember rc6并且我有一个多语言应用程序; 在applicationRoute我检测到浏览器的语言,我重定向到正确的页面:
this.transitionTo(userLang);
但我希望只有当用户在主页上时才执行此操作,所以这样的事情:
if (currentRoute == 'home'){
this.transitionTo(userLang)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试按照本指南在我的新服务器上安装phpmyadmin
apt-get install phpmyadmin
nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
然后将phpmyadmin添加到apache配置:
Include /etc/phpmyadmin/apache.conf
Run Code Online (Sandbox Code Playgroud)
并重新启动apache:
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
所有这一切都通过SSH.
但现在当我尝试访问:xxxx/phpmyadmin时,我得到的是我的浏览器下载文件...有人可以帮忙吗?
我在控制器中有一个简单的数组:
App.HomeController = Ember.Controller.extend({
items: ['item1', 'item2', 'item3']
});
Run Code Online (Sandbox Code Playgroud)
我想渲染模板中的第一个元素; 我正在做的其他帖子中的说明如下:
{{items.[0]}}
Run Code Online (Sandbox Code Playgroud)
或这个…
{{controller.items.[0]}}
Run Code Online (Sandbox Code Playgroud)
......但结果总是一无所获; 我在这做错什么吗?
我正在阅读关于ajax爬行的谷歌规范; 我理解这个概念,但我需要更多的澄清:
我的网址都是这样的:
http://www.website.com/#!/eng/home
http://www.website.com/#!/eng/contacts
...
Run Code Online (Sandbox Code Playgroud)
我必须在这些地址提供html快照:
http://www.website.com/?_escaped_fragment_=/eng/home
http://www.website.com/?_escaped_fragment_=/eng/contacts
...
Run Code Online (Sandbox Code Playgroud)
它是否正确?或者我应该删除"escaped_fragment"网址中的"/"(例如http://www.website.com/?_escaped_fragment_=eng/home或其他什么?)
我使用phantomjs生成HTML快照,但是哪一个是向爬虫提供这些快照的最佳方式?使用节点js?使用htaccess重写规则?
我在节点restful server中使用stringify来提供数据:
answer = JSON.stringify({activities: result}, null, '\t');
return answer
Run Code Online (Sandbox Code Playgroud)
其中result是一个js对象; 我收到了正确的输出:
{
"activities": [
{
"id": 1,
"title": aaa
},
{
"id": 2,
"title": bbb
}
]
}
Run Code Online (Sandbox Code Playgroud)
但现在我想在stringify函数的左边部分使用变量而不是固定字符串; 就像是:
var name = "activities";
answer = JSON.stringify({name: result}, null, '\t');
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为name成为字符串化对象中的固定字符串
我有一个节点脚本,在上传新版本并再次重新启动之前,我需要在其中停止一个永远的进程;
问题是我只知道那个进程的名字,而且
forever stop processName.js
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它需要索引或 uid;只知道名字就可以阻止它吗?
我使用Yeoman在EmberJS中创建了一个Web应用程序.一切正常,但在使用grunt build命令后,如果我在浏览器中查看构建的应用程序(来自dist目录),我可以看到一些图像丢失,因为src路径错误.
Grunt正在更改"image"文件夹中所有图像的名称,但不会更新HTML中的路径.它仅在css文件中更新路径; .hbs模板文件中的图像仍然具有旧路径(使用旧图像名称)...
有人知道怎么修这个东西吗?
我使用Sequelize作为我的服务器(使用mysql方言); 在Sequelize的文档中写道:
var Task = this.sequelize.define('Task', { title: Sequelize.STRING })
, User = this.sequelize.define('User', { username: Sequelize.STRING })
User.hasMany(Task)
Task.belongsTo(User)
Run Code Online (Sandbox Code Playgroud)
使用约束自动创建外键引用; 但对我来说,这不会发生:
var Shop = sequelize.define('Shop', {
name: Sequelize.STRING,
address: Sequelize.STRING,
phone: Sequelize.STRING,
email: Sequelize.STRING,
percentage: Sequelize.FLOAT,
text: Sequelize.TEXT,
categories: Sequelize.TEXT,
start: Sequelize.DATE,
end: Sequelize.DATE
});
var Offer = sequelize.define('Offer', {
name: Sequelize.STRING,
deadline: Sequelize.DATE,
optionDuration: Sequelize.INTEGER
});
Shop.hasMany(Offer);
Offer.belongsTo(Shop);
Run Code Online (Sandbox Code Playgroud)
这创建了两个表商店和商品,它们都只有"id"主键
我也有一些n:m协会,如:
Group.hasMany(Accesslevel);
Accesslevel.hasMany(Group);
Run Code Online (Sandbox Code Playgroud)
而且在这种情况下,在Sequelize创建的连接表中,没有外键; 所以,如果我删除前.一个acccesslevel,不会删除连接表中相应的记录accesslevelsgroups.
有人知道我做错了什么或错过了什么吗?我需要的是为关联创建所有外键以及指定行为'onDelete'和'onUpdate'(级联)的可能性
- 更新我已经创建了一个执行同步的路由:
myServer.get('/sync', function (req, res) {
sequelize.sync({force: true}).success(function() {
console.log('sync done');
res.send(200, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将npm更新到最新版本,因为我正在使用1.4.28.使用:
npm update -g npm
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
npm@1.3.26 C:\Users\ck\AppData\Roaming\npm\node_modules\npm-check-updates\node_modules\npm
npm@2.1.5 C:\Users\ck\AppData\Roaming\npm\node_modules\ember-cli\node_modules\npm
Run Code Online (Sandbox Code Playgroud)
然后跑
npm -v
Run Code Online (Sandbox Code Playgroud)
我可以看到我还在使用1.4.28; 我无法理解我在尝试更新后得到的输出,因为它是在谈论1.3.26和2.1.5,但我已经安装了1.4.28 ??
我在Windows上,我已经尝试卸载并重新安装节点;
我正在Meteor.js开发一个多语言应用程序我想知道你认为这样做的最佳方式; 这里的例子就是我现在正在做的事情(很确定可以做得更好);
首先,我使用语言根目录中的属性保存mongodb中的项目:
{
en: {
name: "english name",
content: "english content"
},
it: {
name: "italian name",
content: "italian content"
},
//since images are the same for both, are not nested
images: {
mainImage: "dataURL",
mainThumb: "dataURL"
}
}
Run Code Online (Sandbox Code Playgroud)
然后我使用currentLang会话变量发布订阅:
Meteor.publish("elementsCurrentLang", function(currentLang) {
var projection = {
images: 1
};
projection[currentLang] = 1;
return Elements.find({}, projection);
});
Run Code Online (Sandbox Code Playgroud)
我使用Iron Router waitOn钩子在路线上订阅:
Router.route('/eng/elements', {
waitOn: function() {
return Meteor.subscribe("municipalitiesCurrentLang", Session.get('currentLang'));
},
action: function() {
this.layout('ApplicationLayout');
this.render('elements');
}
});
Run Code Online (Sandbox Code Playgroud)
现在第一个问题:我想为每种语言重用相同的模板,但我不能简单地放入模板{{name}}或{{content}},因为订阅返回嵌套在lang root下的属性,所以例如,{{en.name}}表示英语,或{{it.name}}表示意大利语; 为了避免这种情况,我使用了一个模拟新对象的模板助手; …
ember.js ×4
node.js ×4
forever ×1
gruntjs ×1
javascript ×1
json ×1
linux ×1
meteor ×1
multilingual ×1
npm ×1
phpmyadmin ×1
seo ×1
sequelize.js ×1
ssh ×1
stringify ×1
web-crawler ×1
yeoman ×1