Я не могу получить «вычисленные» свойства модели. В этом случае я не могу получить свойство commented_byEmber render not shows rails или расчетные свойства Ember
Моя структура приложения довольно проста: у меня есть модель Post, у которой много комментариев. В post.hbs где я отображающий пост, у меня есть раздел, который визуализирует все комментарии, связанные с этой должностью, как так:
{{#each comment in comments}}
{{render "comment" comment}}
{{/each}}
Моего комментарием модель (в Rails) выглядят следующим образом:
class Comment < ActiveRecord::Base
extend ActsAsTree::TreeView
belongs_to :post
belongs_to :user
def commented_by
self.user.username
end
end
и это последующий сериализатор выглядит следующим образом:
class CommentSerializer < ActiveModel::Serializer
embed :ids, include: true
attributes :id,
:parent_id,
:body,
:created_at,
:updated_at,
:post_id,
:user_id,
:commented_by
belongs_to :post
belongs_to :comment
has_many :children, include: true, root: :comments
end
Поэтому я намерен сериализацией commented_by «вычисленного свойство» и отправить его вместе. Теперь, на клиентской стороне вещей:
Мой уголек комментарий модель выглядит следующим образом:
App.Comment = DS.Model.extend({
parentID: DS.attr('number'),
body: DS.attr('string'),
createdAt: DS.attr('date'),
updatedAt: DS.attr('date'),
postID: DS.attr('number'),
userID: DS.attr('number'),
commentedBy: DS.attr('string'),
post: DS.belongsTo('post', {async: true}),
});
Я думаю, маршрут, контроллер и вид может иметь отношение, а также:
App.CommentRoute = Ember.Route.extend({
model: function(params){
return this.store.find('comment', params.id);
},
})
App.CommentView = Ember.View.extend({
templateName: 'comments/comment',
});
App.CommentController = Ember.ObjectController.extend({
testProperty: "hello"
})
Мои поэтому следующие вопросы: 1. (главный вопрос :) Почему свойство commented_by не заполняется на стороне клиента? (консоль на стороне сервера мудрая, она показывает, что она прекрасна.)
Последующие вопросы: 2. Я заметил, что последний звонок сервера, который я получил, был GET/posts/2. Означает ли это, что рендер Ember не делает звонок, чтобы получить комментарии к сообщению? У меня все еще есть комментарии, однако, просто не свойство commented_by (все остальные свойства находятся в базе данных, в столбцах.), Поэтому я могу только догадываться, что Ember не выполняет действие show в comment_controller.rb; если да, то как я правильно сериализую данные, чтобы включить commented_by?
- Когда я помещаю отладчик в makeinsertelement commentview и пытаюсь получить «testProperty» контроллера Comment, я получаю нулевое значение. Означает ли это, что рендер не показывает никаких свойств Ember-Controller?
Я знаю, что это ... загруженный вопрос, но я считаю, что я неясен по этим вопросам, и я надеюсь, что кто-то здесь может мне помочь.