Ember js + Rails后端,内容无法呈现

时间:2014-03-02 17:39:26

标签: ruby-on-rails ruby ember.js

我的应用程序一直遇到问题。当我启动本地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

非常感谢任何帮助。我希望我能明确地做出错误。

1 个答案:

答案 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();
    }
  }
});