我正在构建一个带有rails作为后端的ember js的应用程序(我使用的是ember-rails gem),我正在努力用正确的方法来命名我的把手模板。什么是正确的惯例?例如:
我想,对于路线/user_profiles/4/
,我应该将模板放在user_profiles/show.hbs
中吗?或者它应该是userProfile/show.hbs
?
对于一个简单的模板,它应该是user_menu.hbs
或userMenu.hbs
(两者都适合我)。但是,为了使用帮助器呈现它,我需要这样做:
{{render 'userMenu' }}
使用我的App.UserMenuController
那么我应该在每个地方使用camelCase还是使用snake_case?或两者兼而有(文件夹的camelCase和文件名的snake_case)
有人可以帮助我理解它,因为在ember指南中,大多数都是简单的名称,例如posts
或comments
,所以很难理解。
答案 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
,其他所有内容都保持不变。
除了模板路径(以及模板的foldername / filename)之外,那么我应该在每个地方使用camelCase还是使用snake_case?或两者兼而有(文件夹的camelCase和文件名的snake_case)
约定似乎是camelCase
答案 1 :(得分:0)
截至Ember 2.x命名惯例为: