Refinery CMSにカスタムフィールドをどのように追加しますか?つまり、基本的なページモデルを拡張して、スクリーンショット、発行者名、カテゴリ、その他のさまざまなフィールドなど、他の多くのものを含めたいと思います。それをどのように実装しますか?
2438 次
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
ページモデルを拡張して、カスタムフィールドが一括割り当てによって設定されるようにします(requireステートメントについてはhttp://railsrx.com/2011/04/15/overriding-refinery-extending-globalize-and-pow/に感謝します)。
次に、製油所から提供されたスタブであるファイル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>
アプリケーションを再起動すると、新しいフィールドがアクティブになります。
于 2012-03-21T13:59:22.790 に答える
2
(優れた)製油所入門ガイドをご覧ください。セクション6では、ガイドは、エンジンを使用してフィールドを追加する方法(日付、画像、宣伝文の例)を示しています。
于 2011-11-11T18:19:10.897 に答える