Backbone.js + Rails 3.1: Как создать CMS в пространстве имен Admin? - PullRequest
5 голосов
/ 04 июля 2011

Я уже некоторое время пытаюсь обдумать это, и с небольшим успехом занимаюсь веб-исследованиями. Я не могу быть единственным, верно?

Как создать CMS в пространстве имен с помощью Backbone?

В рельсах это относительно просто, но добавление магистрали в уравнение кажется хитрым.

Вот мое основное приложение:

Относительные камни

gem 'rails', '3.1.0.rc4'  
gem 'devise'  
gem 'rails-backbone', '0.5.0'

Базовая структура приложения

/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? Как и рельсы, они ссылаются на одну и ту же базовую модель «без пространства имен»?

Как бы вы затем направили структуру своей магистрали, чтобы получить правильные представления, ограничивая доступ к редактированию, новым, удаляемым обязанностям - и как на них будут ссылаться?

Например, класс обычного магистрального контроллера определяется как ...
class Appname.Controllers.PostsController extends Backbone.Controller

Будет ли это правильным способом определения контроллера пространства имен?
class Appname.Controllers.Admin.PostsController extends Backbone.Controller

Здесь много вопросов, любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 08 сентября 2011

Попробуйте взглянуть на последнюю версию магистрали. Контроллер был переименован в Router. Это может помочь некоторым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...