Backbone.js + Rails 3.1:如何在Admin命名空间中创建CMS?

dav*_*idg 5 ruby-on-rails content-management-system backbone.js

我一直试图将这个问题包围起来一段时间,并且一直在网上进行研究,但收效甚微.我不可能是唯一一个,对吗?

如何使用Backbone在命名空间内创建CMS?

在轨道中它相对简单,但在方程式中加入主干似乎很棘手.

到目前为止,这是我的基本应用程序:

相对宝石

gem 'rails', '3.1.0.rc4'  
gem 'devise'  
gem 'rails-backbone', '0.5.0'
Run Code Online (Sandbox Code Playgroud)

基本的App结构

/app
  /assets
    /javascripts
      /backbone
        /controllers
          - posts_controller.coffee
        /models
          - post.coffee
        /templates
          /posts
            - edit.jst.ejs
            - index.jst.ejs
            - new.jst.ejs
            - post.jst.ejs
            - show.jst.ejs
        /views
          /posts
            - edit_view.coffee
            - index_view.coffee
            - new_view.coffee
            - post_view.coffee
            - show_view.coffee
  /controllers
    /admin
      - admin_controller.rb
      - posts_controller.rb
    - application_controller.rb
    - posts_controller.rb
  /models
    - post.rb
  /views
    /admin
      /posts
        - index.html.haml
    /posts
      - index.html.haml

的routes.rb

  namespace :admin do
    resources :posts
    root :to => "posts#index"
  end

resources :posts
root :to => "posts#index"

您是否必须在主干视图和控制器中创建另一个"admin"目录,例如rails结构?像rails一样,它们是否引用了相同的"非命名空间"骨干帖模型?

然后,您将如何路由您的主干结构以获取正确的视图,同时限制对编辑,新的,删除职责的访问 - 以及它们将如何被引用?

例如,正常的主干控制器类被定义为......
class Appname.Controllers.PostsController extends Backbone.Controller

这是定义命名空间控制器的正确方法吗?
class Appname.Controllers.Admin.PostsController extends Backbone.Controller

这里有很多问题,非常感谢任何帮助.

Cra*_*son 0

尝试看看最新版本的backbone。控制器已重命名为路由器。这可能会对一些人有所帮助。