Railsを使用しています。backbone-rails
gemをインストールし、ここの指示に従いました。
やろうとするとBackbone.history.start()
、次のエラーが発生します。
Uncaught TypeError: Cannot call method 'start' of undefined
この他のSOの質問Backbone.history.start()
によると、少なくとも1つのルートを作成するまで、それを呼び出すことはできないことを理解しています。ただし、このCoffeeScriptファイルで定義されている複数のルートがあるため、これは私の問題ではないようです。
class Lunchhub.Routers.RestaurantLocationsRouter extends Backbone.Router
initialize: (options) ->
@restaurantLocations = new Lunchhub.Collections.RestaurantLocationsCollection()
@restaurantLocations.reset options.restaurantLocations
routes:
"new" : "newRestaurantLocation"
"index" : "index"
":id/edit" : "edit"
":id" : "show"
".*" : "index"
なぜこのエラーが発生するのですか?
編集:これが私のコードです:
<div id="restaurant_locations"></div>
<script type="text/javascript">
$(function() {
window.router = new Lunchhub.Routers.RestaurantLocationsRouter({restaurantLocations: <%= @restaurant_locations.to_json.html_safe -%>});
Backbone.history.start();
});
</script>