正确的模板名称约定在ember js camelCase vs snake_case中

时间:2013-03-12 17:13:52

标签: ember.js ember-rails

我正在构建一个带有rails作为后端的ember js的应用程序(我使用的是ember-rails gem),我正在努力用正确的方法来命名我的把手模板。什么是正确的惯例?例如:

我想,对于路线/user_profiles/4/,我应该将模板放在user_profiles/show.hbs中吗?或者它应该是userProfile/show.hbs

对于一个简单的模板,它应该是user_menu.hbsuserMenu.hbs(两者都适合我)。但是,为了使用帮助器呈现它,我需要这样做:

{{render 'userMenu' }}

使用我的App.UserMenuController

那么我应该在每个地方使用camelCase还是使用snake_case?或两者兼而有(文件夹的camelCase和文件名的snake_case)

有人可以帮助我理解它,因为在ember指南中,大多数都是简单的名称,例如postscomments,所以很难理解。

2 个答案:

答案 0 :(得分:5)

  

我正在努力用正确的方法命名我的车把模板。什么是正确的惯例?

大多数情况下,模板名称将与路径名称匹配。如果路径名称包含.,则将其替换为/并将camelCase路径名称隐藏为under_scored模板名称。有关更多示例,请参阅the naming conventions guide

  

我想,对于route / user_profiles / 4 /我应该把我的模板放在user_profiles / show.hbs中吗?或者应该是userProfile / show.hbs?

不确定您获得show.hbs的位置。由于模板基于路由名称(而不是URL),因此无法分辨。我们假设你有这样的路线:

App.Router.map(function() {
  this.route('user_profile', { path: '/user_profiles/:user_profile_id' });
});

路由名称是“user_profile”,因此Ember.js将查找这些对象:

  • App.UserProfileRoute
  • App.UserProfileController
  • user_profile模板

或者,您可以使用路径名userProfile,其他所有内容都保持不变。

  

那么我应该在每个地方使用camelCase还是使用snake_case?或两者兼而有(文件夹的camelCase和文件名的snake_case)

除了模板路径(以及模板的foldername / filename)之外,

约定似乎是camelCase

答案 1 :(得分:0)

截至Ember 2.x命名惯例为:

  • 串情况下的
    • 文件名
    • 目录名称
    • html标签/ ember组件
    • CSS课程
    • 网址
  • 驼峰
    • 的JavaScript
    • JS​​ON

http://ember-cli.com/user-guide/#naming-conventions