EmberJS Uncaught TypeError:Object [object Object]没有方法'create'

时间:2013-03-04 20:47:16

标签: javascript ember.js

尝试使用小型rails应用程序与EmberJS进行一些相对基本的客户端设置。到目前为止我有两件事:

  1. 发布待售图书的表格(尚未实际创作)
  2. 搜索图书页面。 (希望这也是主页)。
  3. 第一个加载正常。当我单击应用程序模板中的链接时,表单将按预期加载。

    然而第二个没有。单击链接查看搜索页面时弹出主题错误。这是我到目前为止的代码:

    <script type="text/x-handlebars">
      <div class="nav">
        {{#linkTo "index_search"}}Home{{/linkTo}}
        {{#linkTo sale_records.new}}Post a book for sale{{/linkTo}}
      </div>
      <div class="container">
        {{outlet}}
      </div>
    </script>
    

    使用Javascript:

    // router.js
    (function() {
      LocalBookFinder.Router.map(function() {
        this.resource("sale_records", { path: "/sale_records" }, function() {
          this.route('new');
        });
        this.route("index_search", { path: "/search" });
      });
    
      LocalBookFinder.NewSalesRecordRoute = Ember.Route.extend({
        model: function() {
          return new LocalBookFinder.SaleRecord();
        },
        setupController: function(controller, model) {
    
        }
      });
    
      LocalBookFinder.IndexSearchRoute = Ember.Route.extend({
        setupController: function(controller, model) {
    
        }
      });
    }).call(this);
    
    // controllers/search/index_search_controller.js
    (function() {
      LocalBookFinder.IndexSearchController = Ember.ObjectController.extend({
    
      });
    }).call(this);
    
    
    // views/search/index_search_view.js
    
    (function() {
      LocalBookFinder.IndexSearchView = Ember.View.create({
        templateName: "search/index"
      });
    }).call(this);
    

    链接本身呈现得很好。但是一旦我点击它,我得到错误信息,没有任何渲染。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

设置IndexSearchView时出错。它应该是Ember.View.extend,而不是 Ember.View.create。