タグ:Ruby on Rails

Joruri CMSに入力フィールドを追加

Joruriというか、Ruby on Railsを始めたばかりのど素人のメモ。

Joruri CMSには残念ながら「カスタムフィールド」という機能が存在しません。

ということで任意の入力フィールドを追加する場合、データベースから操作する必要があります。

ちなみに自分が使っているJoruri CMSのバージョンは「1.3.2」です。

以下、「コンテンツ種別:記事」の、ページ新規作成・編集画面に、「備考」入力フィールドを追加してみた手順です。

  1. DBの「article_docs」テーブルに「remark」カラムを追加。
    カラム名:remark
    種別:TEXT
    NULL:チェック
  2. app/views/article/admin/docs/_form.html.erb
    を編集。
    「内容」フィールドの下あたりにこんな感じで追加。

    <tr>
    <th colspan="1">備考</th>
    <td colspan="3"><%= f.text_area :remark, :rows => '3', :class => ' remark ', :style => 'width: 500px;' %></td>
    </tr>
    
  3. apache再起動。(これしないと反映されない)
  4. app/views/article/public/node/docs/show.html.erb
    を編集。
    表示させたい部分に、

    <%= @item.remark %>
    

    と記述する。

  5. apache再起動。

apacheを再起動させる理由は、そうしないとviewの編集内容が反映されないからですが、キャッシュを削除する方法さえわかれば、わざわざapacheを再起動させる必要はないかと思います。
これについてはまだ調査中。
viewレベルの変更でapache再起動はさすがにしんどい^^;

まだ開始したばかりなので、いろいろと分かってない部分がありますが、なんとか任意のフィールドを追加したり、カスタマイズできそうですね。

【追記 2013/06/27】

キャッシュの削除方法分かりました。

config/environments/production.rb

config.cache_classes
config.action_controller.perform_caching
config.action_view.cache_template_loading

をすべてfalseにすると、再起動させる必要が無くなり、viewやcontrollerの更新がすぐに反映されます。

config.cache_classes = false
config.action_controller.perform_caching = false
config.action_view.cache_template_loading = false

こちらのサイトを参考にさせていただきました。

mongrelを再起動させずにRailsアプリのコードの修正を反映させる日々の階段を。 - このブログは証明できない。

nandani | 2013年06月18日 | コメント(0) | トラックバック(0) | CMS関連 | Ruby関連

Copyright(c) 2010 - 2024 ダリの雑記