我正在使用Rails和Backbone一起工作,我一直在學習很多東西,但是我遇到了一個問題,我無法包住頭。Backbone.js如何將數據保存在我的Rails模型中?
我有兩個模型,一個用戶和一個電影模型。
ActiveRecord::Schema.define(version: 20141016152516) do
create_table "movies", force: true do |t|
t.string "title"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
end
create_table "users", force: true do |t|
t.string "name"
t.string "email"
t.datetime "created_at"
t.datetime "updated_at"
t.string "password_digest"
t.string "remember_digest"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
end
用戶模型has_many電影和電影模型belongs_to用戶。
我一直在使用骨幹集合到一部電影添加到這樣的用戶認爲,
class Movieseat.Collections.Movieseats extends Backbone.Collection
url: '/api/movies'
defaults:
title: ""
通過我的索引視圖
class Movieseat.Views.MovieseatsIndex extends Backbone.View
template: JST['movieseats/index']
initialize: ->
@collection.on('update', @render, this)
@collection.on('add', @appendEntry, this)
render: ->
$(@el).html(@template())
@collection.each(@appendEntry)
this
events: ->
"click li": "addEntry"
addEntry: (e) ->
movie_title = $(e.target).text()
@collection.create title: movie_title
appendEntry: (entry) ->
view = new Movieseat.Views.Entry(model: entry)
$('#entries').append(view.render().el)
了,這是我的條目查看
class Movieseat.Views.Entry extends Backbone.View
template: JST['movieseats/entry']
className: 'movie-frame'
render: ->
$(@el).html(@template(entry: @model))
this
這一切工作正常。我的頁面上有一些靜態文字的電影標題。當用戶點擊電影標題時,它會被添加到視圖中。但我不明白的是,電影標題的保存位置在哪裏?我如何使用Rails控制檯找到它?
我試着在控制檯中做一個Movie.all
,該控制檯顯示了我用電影模型向電影中添加電影時製作的電影模型中的所有電影。它不顯示靜態標題的電影標題。但是,如果從用戶模型中刪除has_many :movies
,則應用程序崩潰。
那麼User,Movies,Rails和Backbone之間的連接是什麼?
這清除了我很多疑問。 – 2014-10-19 00:16:19