Попытка выполнить некоторую относительно базовую настройку на стороне клиента с помощью EmberJS с помощью небольшого рельса. У меня есть две вещей до сих пор:EmberJS Uncaught TypeError: Object [object Object] не имеет метода 'create'
- форма для отправки книги для продажи (на самом деле не создавая его еще)
- поиска страницы книг. (Хотите, чтобы это была домашняя страница).
Первый грузовой автомобиль. Когда я нажимаю ссылку в шаблоне приложения, форма загружается как ожидалось.
Второе, однако, нет. Ошибка объекта появляется, когда я нажимаю ссылку для просмотра страницы поиска. Вот код, я до сих пор:
<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);
Ссылка сама по себе делает хорошо. Но как только я нажимаю на него, я получаю сообщение об ошибке, и ничего не отображается. Есть идеи?
Я буду делать ставки, это проблемы с областью. Так много ссылок на эту функцию в разных областях функций. – epascarello
Имейте в виду, что это отдельные файлы. это в этих случаях вызывает функцию off window. Я считаю, что в большинстве случаев coffeescript инкапсулирует скомпилированный файл. Можно просто использовать() вместо .call (this) – agmcleod