2008-01-01から1ヶ月間の記事一覧
並び順リソースは集合リソースなので:collectionで定義するとよい。
ul/li に使うもんだと思ってたけど、table/tbody にできるんじゃないかと思ってやってみたらできた。IEだとどうなるかはわからない。 <table id="user_profile_items" class="bordered" style="margin: 1em;width: 90%"> <% @items.each do |item| %> <tbody id="<%= "user_profile_item_#{item.id}" %>" style="cursor: move;"> <tr class="<%= cycle("even", "odd") %>"> <%= r…</tr></tbody></table>
ついついこういうことをしたくなります。
以下はRails 1.2時代でもやっていたけれど、render_component がない 2.0 を見据えていた実装。
結局、ActionController::Base のClassメソッドである view_paths=(*paths) を使えばよいと。
例えば、MongrelなどでNプロセス立ち上げるとして、Nプロセス間でクラス変数を共有するのはどうしたらいいかな。。。さっと、管理系のページをRESTfulに書き直しているんだけれど、放置していたActionMailer::Base.smtp_settings の同期の問題がもう一回放置…
routes.rb をコンポーネント単位で自由に書き換えられるようにしてしまった関係で、http(s)://{domain}[:{port}]/components/{component_name} を含むURIは任意に扱えることができてしまう。つまり(Widgetを作る以外は)普通にRailsのApp開発と変わらない状況…
http://d.hatena.ne.jp/yssk22/20080101#1199119523 に関連して。 new Ajax.Updater("hoge", url) はRails 2.0環境のデフォルトセッションストア(Cookie)で動作しなくなる。具体的には ActionController::InvalidAuthenticityToken が発生する。というわけで…
各 /components//config/routes.rb にルーティングファイルを独立して記述する方法。ちょっと強引だができた。
ブロックスコープミスって嵌る。 map.namespace("system") do |map| end map.root :controller => "wj_pages", :action => "show" んで、rake routes mac:trunk yssk22$ rake routes (in /Users/yssk22/project/webjourney/trunk) /selenium/:filename {:act…
ログインする = 有効なログイン済み"カレント"ユーザーを作る ログアウトする = 有効なログイン済み"カレント"ユーザーを削除する # config/routes.rb # -- map.resources :users, :controller => "wj_users", :collection => { :current => :any } do |user…
/pages/{:id} でページに対するアクセス(GET/POST/PUT/DELETE) /pages/{:id}/widgets でインスタンス化された(ページに貼り付けられた)ウィジェットのメタデータに対するアクセス とりあえず、ここまでは完成。方針転換をして、db/migrate に記述したデータ…
REST本があまり参考にならなかった罠。email や パスワード のような本人確認が必要なリソースを作成する、という点をどうするか?まず登録。 POST /users GET /users/{:id}/registration_prepared GET /users/{:id}/registration_confirmation?key={tempora…
1ヶ月以上DVDを放置していた気がするけれども、やっとこ導入完了。追加で入れたのはこれ。 ATOK 2007 Firefox iTerm Thunderbird VMware Fusion Carbon Emacs Chicken of the VNC Messenger for Mac (Adium から卒業...) Tiger のときは、初Macだったのでな…
http://jsdoctoolkit.org/JavaScript のドキュメント生成ツール。JavaDoc みたいに書くけど、prototype.js の変な?構文まで対応できる。完璧ではないにしろ、コレで十分。
とりあえず rake test:units は完了したので、rake rails:update をかけてboot.rb やほかのJavaScriptなどもアップデートしました。 次はfunctionalなんだけれど、多くの機能はJavaScriptで実装しているから大変なんだな、これが。
こんなところで嵌るとは。Rails 2.0 では Date, Timeのオブジェクトに対してTime#to_s(:db)のような形でデータベースに特化したフォーマットの文字列を取得することができるようになっているようだ。で、これが、RSS::Rss::Channel:Item#date の Timeクラス…
昨日の続きで、Fixtureの問題。どうも、load_fixtures を再定義して、その中で自作でcreate_fixturesをしているのが非常に問題のようで、これを解決するには、fixture.rb を最初から最後まで舐め回す根性が必要そう。 で、ふと思いついたのは、Fixtureって、…
せっかくなのでURI関係全見直しをかけると同時に、冗長なコントローラーコードはモデルに持って行く活動。コントローラーのコードをモデルに移すことでテストがしやすくなる、というのもあり。とりあえず、/pages/{action}/{id} ではなく、/pages/{id} でア…
これは有名な話。ActiveRecordに入っていたacts_as_*はすべてプラグインとして外に出されているので ruby script/plugin install acts_as_tree のようにして、vendor/plugins に追加する。
結論から言うと、Ruby の cgi の仕様と、Rails の cgi の仕様がミスマッチを起こしているようです。Ruby のバージョンアップ(1.8.6-p26以上)をすることで解決できます。Rubyのバージョンアップなんてやだよ!な人は原因に関しては続き参照してしかるべき対処…
デフォルトのロギングがrubyのLoggerクラスではなく、ActiveSupport::BufferedLogger クラスに変わっています。
これに関しては、:dependent => :destroy に直せばいいんだけれども、script/plugin で入る acts_as_taggable は別物に変わっているような?雰囲気でよくわからない状況に。結局、http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids のほ…
environment.rb が変わっています。こんな感じで、config.action_controller.session = {:session_key => .. , :secret => .. } をつけないと怒られます。 characters = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a secret = Array.new(48){charac…
2008年になりました。カウントダウンTVを見ながらコーディングをしつつ年を越えました。とりあえず昨年の積み残しで、実際のコードで1.2.3ベースのコードを2.0対応させています。とりあえずは、トップページの表示に問題がないレベルまでいってから rake tes…
Fixtureも変わっています。大きくは、関連オブジェクトをidではなくhuman readableな名前で記述できるようになった点ですが、このエントリは関係ありません。隠れた変更点?として、fixtureのキャッシュ機能が追加されています。