我需要一些帮助.目前,如果我进入我的Ember应用程序到这样的网址
/#/clients/some-client/claims/123
Run Code Online (Sandbox Code Playgroud)
页面加载它应该.如果我手动将网址更改为这样的简单内容
/#/clients/some-client/claims/456
Run Code Online (Sandbox Code Playgroud)
它不会改变数据.我必须确保页面进行硬刷新以获取当前数据.
我在控制台中获取事件跟踪,因为我在我的应用程序中设置了LOG_TRANSITIONS
Transitioned into 'clients.client.claims.claim.index'
Run Code Online (Sandbox Code Playgroud)
我知道哪里可能出错了?
路由器
Nucleus.Router.map(function () {
this.resource("clients", { path: 'clients' }, function () {
this.resource("client", { path: ':client_id' }, function () {
this.resource("claims", function () {
this.resource('claim', { path: '/:claim_id/:claim_sub' }, function () {
this.resource('lines', function () {
this.resource('line', { path: ':line_id' }, function () {
this.resource('flags', function () {
this.resource('flag', { path: ':flag_id' });
});
});
});
});
});
});
});
this.route("errors", { path: '/errors/:error_id' });
});
Run Code Online (Sandbox Code Playgroud)
我的路线看起来像这样
Nucleus.ClientsRoute = Nucleus.Route.extend({ …Run Code Online (Sandbox Code Playgroud) 我试图理解使用ember-model来侧载数据的正确方法
我让json像这样回来(为了空间的缘故,我把它从实际的json中减去了一点)
{
"classrooms" : [
{
"classroom_name" : "Class 1",
"id" : 1,
"teacher_id" : 3,
"grade" : 5,
"assignments" : [
],
"students" : [
{
"id" : 5,
"last_name" : "Ford",
"first_name" : "Henry",
"district_id_number" : "MD454"
}
]
},
{
"classroom_name" : "Class 3",
"id" : 2,
"teacher_id" : 3,
"grade" : 4,
"assignments" : [
{
"id" : 5,
"assignment_overview" : "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod …Run Code Online (Sandbox Code Playgroud) 我有一个不是 ActiveRecord 对象的类,我正在尝试为它创建一个 AM 序列化程序。我可以返回正确的 json,但它不包括根
在我的控制器中有这个
format.json { render json: @current_user, root: "current_user" }
Run Code Online (Sandbox Code Playgroud)
我的班级看起来像这样
class CurrentUser
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :first_name, :last_name, :user_type, :user_id
end
Run Code Online (Sandbox Code Playgroud)
我也试过在控制器中添加这个
def default_serializer_options
{root: true}
end
Run Code Online (Sandbox Code Playgroud)
但是我的 json 对象仍然没有 Ember 模型所需的根
返回对象
{"first_name":"Luke","last_name":"Skywalker","user_type":"Padawan","user_id":12}
Run Code Online (Sandbox Code Playgroud)
我需要
{current_user: {"first_name":"Luke","last_name":"Skywalker","user_type":"Padawan","user_id":12} }
Run Code Online (Sandbox Code Playgroud)