Ember Rails Компоненты не работают
Я создал Ember Component в своем приложении ember-rails, но по какой-то непостижимой причине он не читает мой файл js основного компонента.
Я использую свой компонент, как это..
# app/assets/javascripts/templates/comment.hbs
<p>{{time-ago createdAt=comment.created_at}}</p>
Вот шаблон компонента, который, как я вижу, выполняет рендеринг, поскольку я вижу, что статический текст "опубликован" отображается в браузере, но все, что определено в файле js компонента, просто выводит пустое значение, например, {{didNotWork}} ничего не выводит.
# app/assets/javascripts/tenmplates/components/time-ago.js
<p>posted <strong>{{timeAgo}} {{doesThisWork}}</strong></p>
И файл js компонента, который НЕ ВИДИТСЯ ДЛЯ ЗАГРУЗКИ, так как никакие переменные, которые я здесь определяю, может мне показаться, что он рендерит в шаблон компонента
# app/assets/javascripts/components/time-ago.js
App.TimeAgoComponent = Ember.Component.extend({
timeAgo: '',
oldTimeAgo: '',
doesThisWork: 'shows blank rather than this message',
clock: function() {
var newTimeAgo = moment(this.get('createdAt')).fromNow();
if (this.get('oldTimeAgo') !== newTimeAgo ) {
this.set('timeAgo', moment(this.get('createdAt')).fromNow());
}
Ember.run.later(this, this.clock, 1000 * 10);
}.on('didInsertElement')
});
Я чувствую, что есть проблема с тем, как ember-rails рендерит или не рендерит файлы в app/assets/javascripts/components, есть идеи, что это может быть?
[Редактировать 1: Добавление моих js-файлов rails для запроса комментариев]
Вот мои рельсы JS файлы. Обратите внимание, что приложение ember находится на маршруте / документах в моем приложении rails.
# app/assets/javascripts/docs.js.coffee
#= require handlebars
#= require ember
#= require ember-data
#= require remarkable
#= require moment
#= require ember-devise-simple-auth/globals
#= require_tree ./templates
#= require_tree ./components
#= require_self
#= require app
# app / assets / javascripts / application.js.coffee
#= require jquery
#= require jquery_ujs
#= require jquery.timeago
#= require turbolinks
#= require bootstrap
#= require activities
#= require collaborators
#= require dashboard
#= require plans
#= require profiles
#= require projects
#= require roles
#= require sections
#= require templates
#= require subscriptions
#= require select2
[Редактировать 2: Мне интересно, даже загружается ли путь app / javascripts / components]
Я нашел в рельсах, я могу запустить эту команду из консоли рельсов.
>> y Rails.application.config.assets.paths
---
- /Users/richie/Projects/bimbicycle/app/assets/images
- /Users/richie/Projects/bimbicycle/app/assets/javascripts
- /Users/richie/Projects/bimbicycle/app/assets/stylesheets
- /Users/richie/Projects/bimbicycle/vendor/assets/components
- /Users/richie/Projects/bimbicycle/vendor/assets/ember
- /Users/richie/Projects/bimbicycle/vendor/assets/fonts
- /Users/richie/Projects/bimbicycle/vendor/assets/images
- /Users/richie/Projects/bimbicycle/vendor/assets/javascripts
- /Users/richie/Projects/bimbicycle/vendor/assets/stylesheets
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/bootstrap-sass-3.1.1.0/vendor/assets/fonts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/bootstrap-sass-3.1.1.0/vendor/assets/javascripts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/bootstrap-sass-3.1.1.0/vendor/assets/stylesheets
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/font-awesome-sass-4.0.3.2/vendor/assets/fonts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/font-awesome-sass-4.0.3.2/vendor/assets/stylesheets
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/xray-rails-0.1.14/app/assets/javascripts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/xray-rails-0.1.14/app/assets/stylesheets
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/select2-rails-3.5.7/app/assets/images
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/select2-rails-3.5.7/app/assets/javascripts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/select2-rails-3.5.7/app/assets/stylesheets
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/turbolinks-2.1.0/lib/assets/javascripts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/jquery-rails-3.0.4/vendor/assets/javascripts
- /Users/richie/.rvm/gems/ruby-2.0.0-p481/gems/coffee-rails-4.0.1/lib/assets/javascripts
- !ruby/object:Pathname
path: /Users/richie/Projects/bimbicycle/vendor/assets/components
=> nil
Интересно отметить в конце ошибку, связанную с вендором / активами / компонентами, но я не уверен, что это действительно связано с моей проблемой, так как мои компоненты находятся в разделе app / assets / components.
Интересно, есть ли лучшие rails похвалы, чтобы проверить, что require_tree./components загружает мой файл time-ago.js?