2007-09-01から1ヶ月間の記事一覧
メソッドの内に書く変数として、属性値なら、name、関連先が絡んでいるなら、self.mailsと 明示したほうがいい気がする 同様の理由で、メソッド名事態も、関連なら@user.get_diariesとかにする方がいいかもしれない。 @user.diariesだと、直接関連しているよ…
■has_manyまたはhbtmに対しては、その属性自体もfindメソッドを持つ user.flags.find_all_by_flaggable_to_type("Diary") ※flagsというのはポリモフィックアソシエーション用に使っているそのユーザが仮想的なメールのやりとりをする場合、次のようなコード…
ユニットテストでは、assert_equalとかのときに直書きをすることが多い。 何故なら、変数を利用した場合、両方ともnilで等価になったり、両方とも未変換で 等価になってしまったりしても分からないからである。 この問題を解決するなら次のような一文を入れ…
■なかなか参考になる http://d.hatena.ne.jp/favre21/20070927
http://wota.jp/ac/?date=20070902
■実践していこう! http://shugo.net/ruby-codeconv/codeconv.html
ではまった。 日記のコメントの修正時に、「修正」を押すと、jp_mobileでフィルタエラー 対応策:mobile_fiterを解除したら、なぜか@userに日記のインスタンスが入っていた。 return unless (@user = get_diary_owner && @diary = get_diary)ここが悪かった…
■ビュー作成→モデル作成→テスト→実装。どういう手順がいいのかなぁ これについて色々試しているが、次のはよくないモデル作成→ユニットテスト→コントローラ作成→機能テスト→コーディング →ビュー作成→手動テスト これだと、ビュー創っているときに、テストで…
■今回はるびま創刊号と、もう一つ別のサイトから抜粋 まつもと プログラミングはほんとに面白いんで、いろいろやってみてください。でも、先達の知恵は、 見たほうがいいかもしれないな。ささだ ははぁ、なるほどね。もっとソース読め、と。まつもと 若い人…
■今回は、edit操作に対して確認画面をつけることを考える これを参考にするとよい http://www.fdiary.net/ml/rails/msg/290しかし、generatorが最新のrubyでは正しく動作しない場合がある。generate.rbを編集する。 このscaffoldの確認画面の実現方法は、con…
この場合、1人がコミットした場合、次にコミットすると上書きされてしまうのでは、 な〜んてことを思ったりする。 もちろん、SVNはそんなに貧弱ではない。自分でない人が更新しているのを見つけ、 それが自分のローカルでチェックアウトしたものと違えば、「…
■自分が持っている他のモデルを更新するには、自分をreloadすればよい post :update, :id => @user.diaries.first.id,:diary => parameters assert_equal @valid_data.title, user.reload.diaries.first.title
http://www.techmatrix.co.jp/products/security/watchfire/w_attackofappli/attack2_hidden.html
■これをすると、utf8を扱う際にdefault character setを指定する必要がなくなったり、 Railsのdatabase.ymlで文字コード設定をする必要がなくなる http://wota.jp/ac/?date=20061011
■http://d.hatena.ne.jp/LukeSilvia/20070921/1190418225の続編前の日記では、確認ページを作成するのにセッションを使った。 しかし、ずっと簡単かつ堅実な方法があった。 それは、HIDDENを使うというものである。 作戦としては、確認ページから「修正」や…
るびまより、まつもと氏曰く、「効率がいいプログラム」。 これは、実行効率ではなく、作成、保守、読む時などに効率がいいプログラムということ。 それは、シンプルであり、柔軟性があるものである。
DBデザインもおくが深い。ただ同じ属性をまとめればいいというわけではない。 やはり、そのテーブルが持つべきカラムなのか、概念的矛盾はないか等をきちんと チェックすべし。それが、最終的に保守性を上げる。DBという全体への影響が大きい部分 だからこそ…
■フォーム入力した後の確認ページを作成する方法を考える 色々方法はあるが、今回はセッションを使う方法を考える。 もっといい方法はこちら 作戦はこうだ。 ・フォームからパラメータを受ける ・検証を行なう ・セッションに値を入れる ・確認ページを表示…
■背景色を設定したい <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>携帯 xhtml テスト</title> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS" /> </head> <body> </body></html>
1つのオブジェクトを複数のオブジェクトと関連付けることが出来る。 例えば、SNSなどである、コメントや足あと。どちらも、「あるユーザーが何に対して」コメントする、 足あとをつけるという構造になっている。ここを抽象化したいと考えた。よって「誰が何…
□メソッドのやることは基本的には1つ。このくらい細かくていい def price nil end def end? period_to.nil? ? false : period_to < Date.today end def for_only_pc? useragents.size == 1 && useragents.first.name == 'PC' end def self.order 0 end
最初はスケーラビィリティとか考えないで、とかく綺麗に作るべき 継承とかMix-inとか使えるなら使う。
まとめまくると、エラーメッセージが出せなくなる。 やっていることは1つでも、それを組み合わせているメソッドがあって、 それを呼んだとき、読んだ側ではどの種類のエラーが起こったか 分からないときがある。まぁ、メッセージを返して、if **.class == Us…
userがnew_recのときは、nilになってくれる。nil.idエラーにならないから便利
□テストヘルパーにこれをおくと便利 def create_session @request.session[:company] = Company.authenticate("fukushige", "ruby") end
ある画面だけ、テーマ色を変えないといけないとき 一番下 @color = "new_color" それをレンダリングしているテンプレート @color = (@color || base_color) それをレンダリングしている全体のテンプレート @colorを色指定に使う。 <% @title = "ユーザー情報…
assert_redirected_to は、テンプレートの有る無しを見ない
C:\ruby\lib\ruby\gems\1.8\gems\rake-0.7.2\lib\rake\rake_test_loader.rbに書けばOK #!/usr/local/bin/ruby -Ku environment.rbに$KCODE指定をした場合は、これを書かないと、日本語のせいでテストで 落ちることがある。
定数も上で初期値を定義 MAIL_DOMAIN = nil
分割できるものは分割。それを組み合わせればOK。 1つ1つが小さいから、信用性が高い。信用できるものを組み合わせれば信用 できるものができる