rails:806
From: bulldog <gungle@g...>
Date: Mon, 19 Dec 2005 09:32:12 +0900
Subject: [rails:806] Re: 処理の共通化について
菊池です。 高木さん、ご回答ありがとうございます。 > > 1. 各controller(action)で共通的に使用する処理(Cでいうところの共通ライブラリ)を > > 作成しようとする場合、Railsではどのような方法で作成するのが一般的で > > しょうか? > 自作系 は、lib 配下で require でしょうね。 > 私の場合、model に include/extend したいモジュールや、 > ごった煮系のちょっとしたメソッド(日付や時間でよく使うフォーマットの追加 > など)をまとめて詰め込んでおく場所として、misc.rb というファイルに突っ込 > んでいます。 なるほどですね。了解致しました。 > > 2. いくつかのViewで共通で使用するようなプルダウンメニュー(selectタグ)を > > 部品化したいと思っています。 > > view の共通部品を作る手法としては partial と components が用意されていま > す。 partialはなんとなく理解できています。componentsはまだ勉強できていないので、Rails本(英語)で調査してみます。 > > ただし、このメニューはテーブルから検索した内容にしたいと思ってます。 > > 例えば、以下のような感じです。 > > > > # 元となるテーブル。例として部署テーブル > > create table busho ( > > id int serial primary key, > > name varchar(128) > > ) > > > > # 部品化によって、出力される部署用のselectタグ > > <select name="busho"> > > <option value="1000">部署A > > <option value="2000">部署B > > <option value="3000">部署C > > </select> > > う〜ん、わたしもこれに相当するマスター参照型のプルダウンメニューはよく作 > りますが、 > > @busho_list = Busho.find(:all) > collection_select(:model_name, :busho_id, > @busho_list, :id, :name_kanji) > > と、helper メソッドを使って、二行でできてしまうので、 > これを部品化する発想はなかったなぁ〜。 勉強不足でした。たった二行で出来てしまうんですね。 部品化しなくてよさそうです。 > > 上記のようなテーブル検索が絡む共通処理を作成する場合、どのように作成し、 > > どのディレクトリ(model?)に配置するのが、Railsでは一般的でしょうか? > > この程度なら、各view に直接埋め込んでしまいますが、 > もし、共通にするなら、lib か components でしょうね。 了解しました。ありがとうございます。 丁寧なご回答感謝いたします。 今後ともよろしくお願い致します。 -- bulldog <bulldog@t...> web : http://thanks-gunpla.com blog : http://blog.thanks-gunpla.com search: http://gungle.tk -- ML: rails@r... 使い方: http://QuickML.com/ Web Site: http://wiki.fdiary.net/rails/ ML Archives: http://www.fdiary.net/ml/rails/
790 2005-12-16 08:13 [gungle@g... ] 処理の共通化について 798 2005-12-17 04:14 ┗[gollum@h... ] -> 806 2005-12-19 01:32 ┗[gungle@g... ] 811 2005-12-19 15:18 ┗[gollum@h... ] 814 2005-12-20 14:11 ┗[gungle@g... ]