2014-10-18 48 views
0

我有幾個列表元素,其中包含一些電影標題。當用戶點擊包含電影標題的列表元素時,我想將該電影標題保存到Backbone集合中,以便將電影標題添加到用戶記錄中。Backbone.js不保存集合中的變量

這是我indexView

class Movieseat.Views.MovieseatsIndex extends Backbone.View 

    template: JST['movieseats/index'] 

    initialize: -> 
    @collection.on('reset', @render, this) 

    render: -> 
    $(@el).html(@template(movies: @collection)) 
    this 

    events: -> 
    "click li": "showtext" 

    showtext: (e) -> 
    movie_title = $(e.target).text() 
    @collection.create title: $('movie_title').text() 

我的收藏

class Movieseat.Collections.Movieseats extends Backbone.Collection 

    url: '/api/movies' 
    defaults: 
    title: "" 

而且我的模板

<% for movie in @movies.models: %> 
    <div class="movie-frame"><%= movie.get('title') %></div> 
<% end %> 

我已經使用這個模型骨幹的工作,但我從那時起我一直遵循RailsCast主幹視頻,他在那裏使用集合,所以我正在切換。

在我的主頁上(我渲染模板的地方)我有幾個.movie-frame元素充滿了我使用模型時的電影標題。

但是,當我點擊一個元素現在,我得到一個新的.movie-frame元素,但它沒有任何內容。所以我猜這個問題是在這個部分

showtext: (e) -> 
    movie_title = $(e.target).text() 
    @collection.create title: $('movie_title').text() 

我一直在尋找這段代碼,並覺得我失去了明顯的東西。

回答

0

有時你只需要退後一步,散步,並獲得一些新鮮空氣。

$('movie_title') 

這不是一個變量了

$movie_title 

這是。現在我改變了這個集合將變量保存到集合中。