嗨,如果我想在我的 zend 应用程序中创建一个主干应用程序/资产文件夹,我最有可能将它放在哪里?骨干应用程序文件夹包括Javascript,Stylesheets and Templates
简而言之,这就是骨干如何与导轨一起使用
routes.rb
resources :entries
用于条目/索引的 Rails 控制器
class EntriesController < ApplicationController
respond_to :json
def index
respond_with Entry.all
end
end
使用这些代码,如果 url 位于 /entries,则可以简单地理解主干集合
class Blog.Collections.Entries extends Backbone.Collection
url: '/entries'
在骨干路由器
class Blog.Routers.Entries extends Backbone.Router
routes:
'': 'index'
'entries/:id': 'show'
initialize: ->
@collection = new Blog.Collections.Entries()
@collection.fetch()
index: ->
view = new Blog.Views.EntriesIndex(collection: @collection)
#alert 'hi'
$('#container').html(view.render().el)
show: (id) ->
alert "Entry #{id}"
然后渲染到Backbone.View
class Blog.Views.EntriesIndex extends Backbone.View
template: JST['entries/index']
initialize: ->
@collection.on('reset',@render,this)
render: ->
$(@el).html(@template(entries: @collection))
this
渲染 assets/templates/entries/index.jst.eco 的模板
<h1>Blog</h1>
<ul>
<% for entry in @entries.models: %>
<li><%= entry.get('name')%></li>
<% end %>
</ul>
最后使用 assets/javascripts/blog.js.coffee 初始化应用程序
window.Blog =
Models: {}
Collections: {}
Routers: {}
Views: {}
initialize: ->
new Blog.Routers.Entries()
Backbone.history.start()
$(document).ready ->
Blog.initialize()
上面 Backbone.js 的 MVC 模式很有趣,但是我想用 Zend Framework 来实现,所以我必须改变什么配置才能像我们在 rails 中使用它一样使用它。还有我们如何处理模板来渲染视图?谢谢