Rails勉強会@東京第38回
に行ってみる。
が、まあ、今回もはてブのブックマークはしない。
だって、はてブ使ってないんだもんwww
で、今回、セレクトしたセッションは、「Rspec / Cucumberによるテスト by 諸橋氏」と「Rails 2.3のリリースノートを読む by 松田氏」。
で、感想。
spec / Cucumberによるテスト
マイッタ、最近、テストコード書いてません...
script/consoleで大概済ませてる...
客先にテスト結果を渡すような仕事したことないんで、あまり必要性がwww
チーム組んで何か作る時には、嫌でも書かないといけないんでしょうが。
ちょっと、これから作り始めるプロジェクトが在るんで、それを作る時に使ってみる、ように、したい、なぁ...
という訳で、Cukeのネタは、それまで待って下さい;-p >> 諸橋さん
Rails 2.3のリリースノートを読む
まあ、アテクシも、一度はざっと読んではいるのですが、まあ、英語とか全然解らんちんなんでwww
ちょっと気になったのが3.1. Nested Attributes。
質疑応答の時に言おうかと思ったんだけど、セッション自体が押しちゃったんで、言えなかったwww
松田氏が、「前回の勉強会で出ていたPostとCommentの問題の解決策」的なことをおっしゃっていたのですが。
う〜ん...
多分、これって、5.1. Nested Object Formsで書いて在るのを見る限り、ネストしている状態のモデルを、ネストした状態のフォームで受け取って、受け側のアクションで、saveイッパツで保存出来ます機能だと思うんですよね(2.3は使ってないから解りませんがwww)。
今までだと、Customerモデルと、Oderモデルを別々に保存していたのが、Customer.create(params[:customer])で、イッパツ保存が出来るようになりましたよ(validationもついてるでよ)、だと思う、んだよ、なぁ...(2.3は使ってないから解りませんがwww)
なんで、この間のものとは、ちょっと論点が違うかと思われます。
だって、普通に考えて、Postモデルへのフォームの中に、Commentモデルへのフォームを含めることは、あまり考えられないんで;-p
まあ、
<% form_for(@post, comment_posts_path) do |post| %> <% post.fields_for(:comments) do |comment| %> <%= text_field(:subject) %> <%= text_area(:body) %> <% end %> <% end %>
とかって、無理矢理上っ皮被せちゃって、コントローラで
def comment # 適当;-p @post.save end
とかにするのも、ありっちゃあ、ありなんでしょうが(2.3は使ってないから解りませんがwww)。 <= ありじゃないっ! これだとPostモデルの検証に引っかかるじゃないかっ!! と、ポストしてから気が付いたwww
あと、7.1. Rails Metalは、ちょっと面白そう。
なんとなく、public/dispatch.*みたいなもん? という空想。
「Introducing Rails Metal」を見る感じ(英語はよく解りませんが。マジでマジで)。
多分、こんな感じ?
class Poller def self.call(env) #呼ばれたら(/poller以下にリクエストが在ったら)、 if env["PATH_INFO"] =~ /^\/poller/ # リクエストされたパスとのマッチをとって正なら(/pollerで始まっていたら(アレ? /^\/poller\/?/じゃなくてイイのか?))、 [200, {"Content-Type" => "text/html"}, "Hello, World!"] # レスポンスとしてHello, Worldの文字列を返して、 else # 否なら(/poller/の後ろに続きが在ったら)、 [404, {"Content-Type" => "text/html"}, "Not Found"] # レスポンスとしてNot Foundの文字列を返しましょう。 end end end
だと思う。
...ホントに?www
でも、レスポンスとしてhtmlファイルを返したい時は、どうするんだろう?
文字列渡しているのを、File.readとかにすればイイの?
...ホントに?www
そんな感じ。
まあ、とりあえず、2.3系がgemに載ったら、使ってみましょうかねぇー
でわ、帰りに新橋で買った「駅から5分 2巻」を読んで、寝ることとしよう:-)