我的应用程序一直遇到问题。当我启动本地rails服务器并运行chrome ember检查器工具时,我得到了一些错误,显然它似乎只是渲染一个空白页面。我的索引页面工作但是当我使用/#/ stories时它会呈现一个空白页面。以前它工作,所以我必须在某处破坏一些代码,但我似乎无法找到问题。我很贪婪,对红宝石来说有点新鲜。
错误一:未捕获的SyntaxError:意外的标识符。 stories_route.js行:13
Sample.StoriesRoute = Ember.Route.extend({
model: function() {
this.store.find('story');
return this.store.filter('story', function(story) {
return !story.get('isNew');
});
},
actions: {
"delete": function(story)
story.destroyRecord();
}
}
});
我的第二个错误:未捕获错误:断言失败:#each循环的值必须是一个数组。你通过了(生成的故事控制器)
application.js的代码:
Sample.Router.map(function() {
this.resource('stories', function() {
this.resource('story', { path: ':story_id'}, function() {
this.route('edit');
});
this.route('new');
});
});
stories_controller.rb的代码
class StoriesController < ApplicationController
def index
render json: Story.all
end
def show
render json: Story.find(params[:id])
end
def create
sleep 1
render json: Story.create(story)
end
def update
render json: Story.find(params[:id]).tap { |s| s.update_attributes(story) }
end
def destroy
story.find(params[:id]).destroy
head 204
end
private
def story
params[:story].permit(:title, :body)
end
end
非常感谢任何帮助。我希望我能明确地做出错误。
答案 0 :(得分:1)
你在删除操作上错过了一个开场词:
Sample.StoriesRoute = Ember.Route.extend({
model: function() {
this.store.find('story');
return this.store.filter('story', function(story) {
return !story.get('isNew');
});
},
actions: {
"delete": function(story) {
story.destroyRecord();
}
}
});