Ruby on Rails의 백엔드 관리
-
01-07-2019 - |
문제
저는 마지막 순간에 제가 연결한 Ruby on Rails 애플리케이션을 위한 정말 빠르고 더러운 관리 백엔드를 구축하고 싶습니다.나는 activescaffold와 Streamlined를 살펴보았고 둘 다 매우 매력적이고 실행하기 간단해야 한다고 생각했지만 둘 중 하나를 백엔드 관리 페이지로 설정하는 방법을 잘 이해하지 못했습니다.모델-뷰-컨트롤러-테이블 이름 대응으로 눈에 띄는 프런트 엔드를 생성하기 위한 표준 Ruby on Rails 생성기/스캐폴드처럼 작동하도록 설계된 것 같습니다.
플레이어가 이미 사용 중이고 관련 파일에 영향을 주지 않으려면 admin_players 인터페이스를 어떻게 생성합니까?
관리자는 원본 리소스의 표시, 편집 및 색인을 사용할 수 없습니다.
해결책
내 생각에 네임스페이스는 여기서 발생하는 문제에 대한 해결책입니다.
map.namespace :admin do |admin|
admin.resources :customers
end
경로를 생성하는 방법 admin_customers
, new_admin_customers
, 등.
그러면 내부에는 app/controller
당신이 가질 수 있는 디렉토리 admin
예배 규칙서.관리 디렉터리 내에서 관리 컨트롤러를 만듭니다.
./script/generate rspec_controller admin/admin
class Admin::AdminController < ApplicationController
layout "admin"
before_filter :login_required
end
그런 다음 관리자 고객 컨트롤러를 만듭니다.
./script/generate rspec_controller admin/customers
그리고 이를 ApplicationController에서 상속받으세요.
class Admin::CustomersController < Admin::AdminController
그러면 다음에서 조회수가 검색됩니다. app/views/admin/customers
그리고 레이아웃을 기대합니다 app/views/layouts/admin.html.erb
.
그런 다음 실제로 관리, 간소화, ActiveScaffold 등 개인적으로 사용하고 싶은 모든 작업을 수행하기 위해 원하는 플러그인이나 코드를 사용할 수 있습니다. resourcecs_controller
, 를 사용하면 시간이 많이 절약되기 때문입니다. 나머지 스타일 아키텍처를 선택하고 해당 경로를 따라가면 다른 곳에서 많은 시간을 절약할 수 있습니다.하지만 애플리케이션을 상속받았다면 지금쯤에는 논쟁의 여지가 있습니다.
다른 팁
active_admin을 확인해 보세요. https://github.com/gregbell/active_admin.
나는 Streamlined를 꽤 광범위하게 사용했습니다.
Streamline이 작동하도록 하려면 자신만의 컨트롤러를 생성해야 합니다. 따라서 애플리케이션의 나머지 부분과 완전히 별개로 실제로 실행할 수 있으며 보안이 유지되는 별도의 'admin' 폴더와 네임스페이스에서 실행할 수도 있습니다. .
최근 앱의 Customers 컨트롤러는 다음과 같습니다.
class CustomersController < ApplicationController
layout 'streamlined'
acts_as_streamlined
Streamlined.ui_for(Customer) do
exporters :csv
new_submit_button :ajax => false
default_order_options :order => "created_at desc"
list_columns :name, :email, :mobile, :comments, :action_required_yes_no
end
end