製油所CMSにカスタムフィールドを追加する方法 つまり、基本的なページモデルを拡張して、スクリーンショット、発行元の名前、カテゴリ、その他のさまざまなフィールドなど、他のものも含めたいと思います。どのように実装しますか?
回答:
回答№1は2(優秀な)製油所入門ガイドをご覧ください。セクション6では、ガイドを使用してエンジンを使用して追加のフィールドを追加する方法を示しています。
回答№2のための7
製油所の基本モデルを拡張するために、エンジンを生成することは常に選択肢とは限りません。
ページモデルを日付フィールドで拡張しました。
- ページテーブルを移行する
- サルモデルのページモデル
- パーシャルをフォームに追加する(実際には展開する)
詳細に:
rails g migration AddDateToPage event_date:date
rake db:migrate
app / models / page.rbを追加します
require Refinery::Pages::Engine.config.root + "app" + "models" + "page"
class Page
attr_accessible :event_date
end
私のカスタムフィールドがマスアサインメントによって設定されるようにPageモデルを拡張します。 http://railsrx.com/2011/04/15/overriding-refinery-extending-globalize-and-pow/ requireステートメント用)
今度はapp / views / admin / pages / _form_fields_after_title.html.erbファイルを作成してください。これは製油所が提供するスタブです。あなたもそれを作成することができます
rake refinery:override view=admin/pages/_form_fields_after_title
ここで私はフォームフィールドを定義しました(fは製油所によってform_forオブジェクトで設定されます)
<div class="field">
<%= f.label :event_date, t("admin.pages.event_date") %>
<%= f.text_field :event_date %>
</div>
アプリケーションを再起動すると、新しいフィールドがアクティブになります。