/ 製油所CMSの/カスタムフィールド - ルビーオンレール、ルビー、コンテンツ管理システム、製油所

Refinery CMSのカスタムフィールド - ruby​​-on-rails、ruby、content-management-system、refinerycms

製油所CMSにカスタムフィールドを追加する方法 つまり、基本的なページモデルを拡張して、スクリーンショット、発行元の名前、カテゴリ、その他のさまざまなフィールドなど、他のものも含めたいと思います。どのように実装しますか?

回答:

回答№1は2

(優秀な)製油所入門ガイドをご覧ください。セクション6では、ガイドを使用してエンジンを使用して追加のフィールドを追加する方法を示しています。

http://refinerycms.com/guides/getting-started-with-refinery#extending-refinery-with-your-first-engine


回答№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>

アプリケーションを再起動すると、新しいフィールドがアクティブになります。