大場寧子のホームページ : Recent Changes
https://ko.meadowy.net/~nay/?c=recent
大場寧子のホームページ Recent Changes
ja
Copyright (C) 大場寧子 <nay(at)meadowy.org>
2020-06-12T09:49:09+00:00
-
モジュール下のモデルクラスで関連の拡張ができない
https://ko.meadowy.net/~nay/?%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E4%B8%8B%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%A7%E9%96%A2%E9%80%A3%E3%81%AE%E6%8B%A1%E5%BC%B5%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84
2020-06-12T09:49:09+00:00
@@ -0,0 +1,17 @@
+extension_module_nameに::が含まれてしまうために例外が発生する(2.0.2で確認。ソースをみると2.1でも起きそう)。とりあえず、initializer/active_record/association_ext.rb を作って以下を記述すれば動作する。
+
+ module ActiveRecord
+ module Associations
+ module ClassMethods
+ def create_extension_modules(association_id, block_extension, extensions)
+ extension_module_name = "#{self.to_s.gsub(/::/, '')}#{association_id.to_s.camelize}AssociationExtension"
+
+ silence_warnings do
+ Object.const_set(extension_module_name, Module.new(&block_extension))
+ end
+
+ Array(extensions).push(extension_module_name.constantize)
+ end
+ end
+ end
+ end]]> -
Moduleの中にあるModelクラスの扱い
https://ko.meadowy.net/~nay/?Module%E3%81%AE%E4%B8%AD%E3%81%AB%E3%81%82%E3%82%8BModel%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%AE%E6%89%B1%E3%81%84
2020-06-12T09:49:09+00:00
@@ -0,0 +1,42 @@
+!Rails2.0.1での話
+
+単体テスト関係の問題が解消されて、Generate したままでほぼ動くようになっている。単体テストに関するポイントは、
+
+* Generator での仮定
+** テーブル名は module_class名(複数)である
+** 単体テストは module に対応するサブディレクトリ下に作り、module の下のクラスで作る。
+* Fixture の前提
+** (一般的な)fixture は fixtures 直下に、テーブル名をファイル名にして格納されている。
+* Tips
+** model を generate しただけでは、自動的にはクラスに set_table_name が記述されない。module_class(複数)という名前のテーブルでいい場合でも、自分で記述する必要がある。
+
+!概要(内容古い)
+
+models の下にフラットにクラスを入れるのではなく、整理して入れたいという要求がある。Rails的には、各フォルダがModuleに対応するのが良い。Rails 1.1系ですでにサポートされており、1.2系では Module に対応しないとサブフォルダ切りがうまく動かないらしいので、Moduleをつかったサブフォルダ切りをしてみたのだが、癖がある。以下、1.1.2においてのTipsをまとめる。
+
+!!参考情報 - 単一テーブル継承のtype値
+
+同じModule下にあるクラス間で継承関係をつくり、単一テーブル継承をしてみた。このとき、MyModule::Foo < MyModule::Base < ActiveRecord::Base となっていたとすると、Fooクラスでは単一テーブル継承テーブルの type カラムにはモジュールはつかず 'Foo' が入る。(MyModule::Baseクラスではnil)。
+
+!!fixture
+
+上記クラス関係において、テーブル名が my_module となっていて、base クラスに対応した fixture で全派生クラス分を一気に設定したかったのだが、単一テーブル継承の起点クラスと名前が違ったら、単純に以下のようにしてもだめだった。
+
+ fixtures 'my_module/my_modules'
+
+上記は基本的にfixtureファイルの位置とテーブル名として利用されるが、クラス名とテーブル名が対応しない場合は別途設定がいるようだ。
+以下のようにするとうまくいった。
+
+ fixtures 'my_module/my_modules'
+ set_fixture_class "my_module/my_modules".to_sym => 'my_module/base'
+
+クラス名のハッシュのキーは symbol である必要がある。
+
+なお、Rails 2.0.2で、モジュール下のクラスのフィクスチャのロードをするには、[[「モジュール下のモデルのフィクスチャを扱うには」|http://www.everyleaf.com/tech/ror_tips/fixture_for_model_in_modules]]を参考にしてください。
+
+
+!!セッションからのロード
+
+my_module に対する const_missing を無限ループで処理しようとする問題にぶつかった。とりあえず、そもそもセッション保存量を減らしたいちおうこともあったので、module階層化された単一テーブル継承のクラスをセッションで保存しないようにして回避。
+
+階層化したModel+単一テーブル継承(+私のコードのなにか?)で起きるくさい。]]> -
RDoc関係
https://ko.meadowy.net/~nay/?RDoc%E9%96%A2%E4%BF%82
2020-06-12T09:49:09+00:00
@@ -0,0 +1,3 @@
+* プラグインすべてのドキュメントを出力
+
+ > documentation.rake]]> -
Rails2.0.1メモ
https://ko.meadowy.net/~nay/?Rails2.0.1%E3%83%A1%E3%83%A2
2020-06-12T09:49:09+00:00
@@ -0,0 +1,44 @@
+!!Module階層化関連
+
+気になっていた問題がほぼ解消された。
+
+* fixture は fixtures 直下にテーブル名で用意する。(Rails 1.2.5 ではサブフォルダ下に入り動作させるためにステップがあった)
+** ただし、model を generate すると空のモジュール名ディレクトリも作られる。何に使うのかなこれ?
+* テーブル名は module とクラスを _でつないだものにすると楽
+* ↑その場合、モデルクラスに set_table_name が必要
+* 同じ階層同士のモデル間で関連をはる場合、:class_name は指定しなくてよくなった(Rails 1.2.5 では必要だった)
+
+と思ったら不具合もあった。
+
+* has_many で extension しようとすると例外。どうも、has_many を記述している側のクラスがModuleの下にあるという状況を想定していない不具合っぽい雰囲気。階層化されていないモデル同士なら動くコード。
+
+!!Migration
+
+* t.timestamp で created_at, updated_at を作ってくれる。Generate すると書いてあるので自分で書かないですむ。
+
+!!データベース接続
+
+Model をまだ1つも作っていなくても、コントローラをつくってアクセスするとDBがないと怒られる。
+
+ ...
+ /opt/local/lib/ruby/gems/1.8/gems/activerecord-2.0.1/lib/active_record/query_cache.rb:8:in `cache'
+ /opt/local/lib/ruby/gems/1.8/gems/actionpack-2.0.1/lib/action_controller/caching.rb:677:in `perform_action'
+ ...
+
+!!GetText で 500 Internal Server Error
+
+が出た。むとう様に情報をいただいて解決。Ruby 1.8.6 p26 より前で出る現象だった。Ruby のバージョンアップで解決。
+
+* http://d.hatena.ne.jp/craccho/20071210
+* http://zargony.com/2007/07/29/using-ruby-gettext-with-edge-rails/
+
+!!1.2.xアプリからの移行の手順例
+
+フレームワーク
+
+* 同名のプロジェクトを Rails 2.0.x で rails xxx で作る
+* environment.rb を、アプリの加工部分は活かして移植
+* rake rails:update を実行 → boot.rb と javascript が更新される
+* envrionment/ 以下のファイルを、アプリの加工部分は活かして移植
+* application.rb を、アプリの加工部分は活かして移植
+* script/ 以下を更新]]> -
ローストビーフ
https://ko.meadowy.net/~nay/?%E3%83%AD%E3%83%BC%E3%82%B9%E3%83%88%E3%83%93%E3%83%BC%E3%83%95
2020-06-12T09:49:08+00:00
@@ -0,0 +1,9 @@
+!ローストビーフ
+
+牛もも肉ブロック800g〜1kgを用意。タコ糸でしばるか焼き豚用ネットにいれる。
+
+190度でオーブンを余熱。
+
+塩コショウして10分置く。主に胡椒ですって。
+
+ガーリックをすりこんでハーブ・スパイス、たまねぎ、にんじん、ながねぎ、せろり、ぱせりでくるんで45分〜50分焼く。]]> -
指定の Rails バージョンでプロジェクトを作る
https://ko.meadowy.net/~nay/?%E6%8C%87%E5%AE%9A%E3%81%AE+Rails+%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E3%82%8B
2020-06-12T09:49:08+00:00
@@ -0,0 +1,10 @@
+2.0.1で作ったプロジェクトは 1.2.6で動かない。
+
+ということで、好きなバージョンでアプリケーションを作るには、以下のように、最初の引数に _ で囲んでバージョンを指定する。
+
+ > rails _1.2.6_ my_app_name
+
+ちなみに Eclipse のプロジェクトにこれを入れる手順は、
+
+* Eclipse で、スケルトンなしの Railsプロジェクトを作っておく
+* そこに(というか上のディレクトリでだけど) rails コマンド]]> -
かるたソフト・画像
https://ko.meadowy.net/~nay/?%E3%81%8B%E3%82%8B%E3%81%9F%E3%82%BD%E3%83%95%E3%83%88%E3%83%BB%E7%94%BB%E5%83%8F
2020-06-12T09:49:05+00:00
@@ -0,0 +1,6 @@
+かるたは半ば引退状態ですが、ソフトや画像を作ったものがまだ使えそうですので御入用の方はご自由にお持ちください。
+
+||! ソフト名 ||! OS ||! ご紹介 ||! ダウンロード ||
+||札ぱずる{{br}}Ver.1.1 lot.2 00/02/13 || Windows || 競技かるた初心者向け札暗記ソフト。{{br}}百人一首の下の句がかかれた取り札を、台紙にあてはめながら覚えることができます。百首の分類方法や構造を意識しながら練習できるのが特徴です。{{br}}徳島県かるた協会での小学生教室の際に生まれたアイディアをソフトにしたものです。{{br}}札の構造的な理解に向いています。 || [[Fdpuz.lzh|http://ko.meadowy.net/~nay/karta/fudagif.lzh]] {{br}}(168,095 byte) ||
+|| 札落とし{{br}}Ver.1.0 lot.1 99/02/23 || Windows || 競技かるた初心者向け札暗記ソフト。{{br}}百人一首の下の句がかかれた取り札を次々に表示し、必要に応じて上の句を確かめたり、苦手な札をピックアップして特訓したりできる、単語カードのようなソフトです。|| [[FudaO.lzh|http://ko.meadowy.net/~nay/karta/FudaO.lzh]] {{br}}(159,350 byte) ||
+|| 百人一首取札画像 || - || ソフトを作る際、100枚分の画像を手作りした労作です。ソフトを作る・ホームページを飾るなど、ご自由にご利用ください。 || GIF画像100枚分 [[fudagif.lzh|http://ko.meadowy.net/~nay/karta/fudagif.lzh]](54.98KB) {{br}}BMP画像100枚分 [[fudabmp.lzh|http://ko.meadowy.net/~nay/karta/fudabmp.lzh]](42.22kb) ||]]> -
そら豆のかき揚げ
https://ko.meadowy.net/~nay/?%E3%81%9D%E3%82%89%E8%B1%86%E3%81%AE%E3%81%8B%E3%81%8D%E6%8F%9A%E3%81%92
2020-06-12T09:49:05+00:00
@@ -0,0 +1,15 @@
+!レシピ
+
+一人分あたり15〜20粒 空豆の殻と内側の皮をむく。
+
+衣はふるった小麦粉に、ときほぐして同量の水とよくあわせた卵を混ぜいれる。クレープ生地くらいのゆるさ。
+
+おわんにお玉1杯分弱の生地をとり、空豆半分量を混ぜいれる。小鍋に油を熱したら、おわんの空豆を生地ごといれ、鍋肌と箸をつかってすばやくまとめ、カラっと揚げる。
+
+薄力粉は必ずふるうこと。油は160度。
+
+{{attach_view(soramame.jpg)}}
+
+!感想
+
+某雑誌に出ていたレシピ。めちゃくちゃ美味しかったのでメモメモ。小さい鍋で、鍋肌を利用してやるのがコツみたい。私は贅沢に紅花油とごま油のMIXでやってみたのでありました。]]> -
れんこんとカリフラワーのカレー風味いため
https://ko.meadowy.net/~nay/?%E3%82%8C%E3%82%93%E3%81%93%E3%82%93%E3%81%A8%E3%82%AB%E3%83%AA%E3%83%95%E3%83%A9%E3%83%AF%E3%83%BC%E3%81%AE%E3%82%AB%E3%83%AC%E3%83%BC%E9%A2%A8%E5%91%B3%E3%81%84%E3%81%9F%E3%82%81
2020-06-12T09:49:05+00:00
@@ -0,0 +1,22 @@
+!材料
+
+* れんこん1/2程度
+* カリフラワー1/2程度
+* カレー粉もしくは粉末状カレールー
+* 胡椒
+* 塩
+* オリーブオイル
+* ガラムマサラ
+
+!!作り方
+
+* れんこん、カリフラワーを食べやすい大きさに切る。
+* オリーブオイルをひいたフライパンにれんこんを入れていためる。
+* カリフラワーを入れていためる。カリフラワーは葉や茎の部分でもおいしい。
+* 塩、胡椒をふる
+* 弱火にしてカレー粉を適量ふり入れる。粉状のルーの場合、大さじ1程度か。焦がさないよう混ぜる。
+* 白ワインと水を適量(あわせて50ccくらい?)いれてふたをして弱火で蒸す。
+* 数分したらふたをあけて水分をとばし、ガラムマサラをふって混ぜる
+* 完成!!
+
+れんこんのはごたえがある方がたぶんおいしい。]]> -
カポナータのパイ焼き
https://ko.meadowy.net/~nay/?%E3%82%AB%E3%83%9D%E3%83%8A%E3%83%BC%E3%82%BF%E3%81%AE%E3%83%91%E3%82%A4%E7%84%BC%E3%81%8D
2020-06-12T09:49:05+00:00
@@ -0,0 +1,19 @@
+!材料
+
+* トマト2個
+* ズッキーニ1本
+* たまねぎ1個
+* にんじん1本
+* カリフラワー1/2
+* 赤ピーマン1個
+* にんにくひとかけ
+* オリーブオイル
+* デミグラスソース
+* ケチャップ(あれば)
+* パイ生地
+
+!作り方
+
+野菜類を食べやすい大きさにきり、オリーブオイルとにんにくのみじんぎりをいためたなかに加えていためる。たまねぎ→にんじん→トマト以外→トマト。水と白ワインを適量(あわせて300cc程度?)いれて煮る。塩であじつけする。
+
+オーブンを220度で余熱しておく。耐熱皿にカポナータを入れ、デミグラスソースを適量かけ(アクセントなので、フランクフルトにかけるケチャップ程度につらつらっとかける。)、少量のケチャップもかけ、パイシートでふたをしてオーブンで30分程度焼く。パイがふくらんで色づくまで焼く。]]>