土壇場で接続したRuby on Railsアプリケーション用の本当に迅速で汚い管理バックエンドを構築したいと思います。 activescaffoldを見て合理化され、どちらも非常に魅力的で、簡単に実行できるはずだと思いましたが、どちらもバックエンド管理ページとして設定する方法がよくわかりません。標準のように機能するように設計されているようですRuby on Railsジェネレーター/足場。モデル-ビュー-コントローラー-テーブル名に対応する可視フロントエンドを作成します。
プレーヤーがすでに使用されていて、関連ファイルに影響を与えないようにしたい場合、admin_playersインターフェイスをどのように作成しますか?
元のリソースの表示、編集、およびインデックスは、管理者が使用することはできません。
名前空間は、ここで発生する問題の解決策だと思います。
map.namespace :admin do |admin|
admin.resources :customers
end
ルートadmin_customers
、new_admin_customers
などを作成します。
次に、app/controller
ディレクトリ内にadmin
ディレクトリを作成できます。 adminディレクトリ内に、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
を使用したいものは何でも使用できます。これにより、 [〜 #〜] rest [〜#〜] スタイルのアーキテクチャであり、そのルートを強制することで、他の場所で多くの時間を節約できます。ただし、アプリケーションを継承した場合、それは今のところ重要なポイントです。
https://github.com/gregbell/active_admin で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