Ruby on rails ember.js差异路由文件夹和router.js文件
我正试图通过ember rails gem在rails和ember.js中创建一个项目。 我制作了一个Ruby on rails ember.js差异路由文件夹和router.js文件,ruby-on-rails,ember.js,ember-rails,Ruby On Rails,Ember.js,Ember Rails,我正试图通过ember rails gem在rails和ember.js中创建一个项目。 我制作了一个railsgenerate-ember:bootstrap,我正在观察它在assets/javascripts下创建的树 我不明白我必须放在顶层的routes.js文件和/routes文件夹中的文件之间有什么区别。在顶层的routes.js文件中,您将定义您的路由和资源,例如: 您可以使用此作为指南。我在这个答案中使用的代码来自回购协议 EmBlog.Router.map(function()
railsgenerate-ember:bootstrap
,我正在观察它在assets/javascripts
下创建的树
我不明白我必须放在顶层的
routes.js
文件和/routes
文件夹中的文件之间有什么区别。在顶层的routes.js文件中,您将定义您的路由和资源,例如:
您可以使用此作为指南。我在这个答案中使用的代码来自回购协议
EmBlog.Router.map(function() {
this.resource("posts", {path: '/posts'}, function(){
this.route('new');
this.route('show', {path: '/:post_id'}) ;
this.route('edit', {path: '/:post_id/edit'});
});
});
如果希望自定义这些路由或资源中的任何一个,则可以在/routes文件夹中创建一个新文件。例如,如果我们想通过定义一个事件来自定义显示路线,以删除该路由器中的帖子,并使用模型钩子自定义返回的数据,那么我们需要在中创建一个文件并在那里添加代码:
EmBlog.PostsShowRoute = Ember.Route.extend({
model: function(params) {
return EmBlog.Post.find(params.post_id);
},
setupController: function(controller, model){
controller.set('content', model);
},
events: {
destroyPost: function(post) {
post.deleteRecord();
post.get('store').commit();
this.transitionTo('posts');
}
}
});
拆分路由的想法是确保它不会变得太大或充满100行代码。如果您喜欢在同一文件中定义顶级管线及其自定义项。你可以。这里就是这样做的。在顶部的routes.js文件中,您将定义您的路由和资源,例如: 您可以使用此作为指南。我在这个答案中使用的代码来自回购协议
EmBlog.Router.map(function() {
this.resource("posts", {path: '/posts'}, function(){
this.route('new');
this.route('show', {path: '/:post_id'}) ;
this.route('edit', {path: '/:post_id/edit'});
});
});
如果希望自定义这些路由或资源中的任何一个,则可以在/routes文件夹中创建一个新文件。例如,如果我们想通过定义一个事件来自定义显示路线,以删除该路由器中的帖子,并使用模型钩子自定义返回的数据,那么我们需要在中创建一个文件并在那里添加代码:
EmBlog.PostsShowRoute = Ember.Route.extend({
model: function(params) {
return EmBlog.Post.find(params.post_id);
},
setupController: function(controller, model){
controller.set('content', model);
},
events: {
destroyPost: function(post) {
post.deleteRecord();
post.get('store').commit();
this.transitionTo('posts');
}
}
});
拆分路由的想法是确保它不会变得太大或充满100行代码。如果您喜欢在同一文件中定义顶级管线及其自定义项。你可以。这里有一个就是这样做的