🟤
administrateの小ネタ3つ
記事作成時期:2018/04
namespace付きでgenerateする
administrateで複数のパスを利用したい場合、namspaceによって切り分けたい。
ドキュメントに明記されてないが、こんな感じで引数オプションが存在している
$ rails generate administrate:install --namespace manager
$ rails generate administrate:dashboard --namespace manager
サンプルは/spec/example_appを見ると良い
administrateを使う時、下記に色々入っているため、参考にすると良い
動いてるサンプルはこっち
- 表示・編集
- read only機能
- Enum的なselect
- belongs_toなデータの扱い
などがある
新規リソース追加時new_resourceに、既存データをコピーして使う
何かlog的なデータで、最新のデータを使いまわして上書きしたい時のパターン
今のところcontrollerを生やして上書きするしか無さそう
module Admin
class SomeController < Admin::ApplicationController
def new
resource = new_resource
authorize_resource(resource)
render locals: {
page: Administrate::Page::Form.new(dashboard, resource),
}
end
private
def new_resource
# 最新データ
copy = resource_class.order(created_at: :desc).first
return copy if copy.present?
resource_class.new
end
end
end
Discussion