【发布时间】:2014-12-12 08:53:36
【问题描述】:
我一直在使用 Rails4 和 Backbone.js 开发一个小型应用程序。到目前为止,我已经有了一个注册/登录系统,用户可以通过在输入字段中定义电影标题来制作他们看过的电影列表,该输入字段将电影标题存储在 Movie 模型中并显示用户制作的电影在视图中。
但我不喜欢用户必须重新加载页面才能看到结果的事实,这就是我想在我的项目中使用 Backbone 的原因。为此,我使用了'backbone-on-rails' gem。
到目前为止,我已经创建了一个视图
class Movieseat.Views.MovieseatsIndex extends Backbone.View
template: JST['movieseats/index']
initialize: ->
@render()
render: ->
@$el.html @template()
events: ->
"click li": "showtext"
showtext: (e) ->
movietitle = $(e.target).text()
console.log movietitle
el: "#container"
渲染一个模板,
<ul id="movie-overview">
<li class="movietitle">Star Wars 1</li>
<li class="movietitle">Star Wars 2</li>
<li class="movietitle">Star Wars 3</li>
<li class="movietitle">Star Wars 4</li>
<li class="movietitle">Star Wars 5</li>
<li class="movietitle">Star Wars 6</li>
<li class="movietitle">Star Wars 7</li>
</ul>
<div>Not star wars</div>
在我的主页上
:javascript
$(function() {
new Movieseat.Views.MovieseatsIndex
});
#container
如您所见,视图在 li 元素上有一个点击事件。发生这种情况时,它会在控制台中显示来自该 li 元素的文本。
我想要做的是将 li(控制台输出)中的文本保存到我的 rails 电影模型中。我查看了RailsCast,但他使用的是表单,我找不到如何将文本保存到我的 Rails 模型中的示例。什么样的活动可以做到这一点?我是否需要使用集合和模型来使这种动态化?
【问题讨论】:
标签: javascript ruby-on-rails backbone.js