タグ

2012年8月13日のブックマーク (6件)

  • ActiveRecord 更新系 - elm200 の日記(旧はてなダイアリー)

    Rails のバージョンは 1.2.3 を想定。 基的に断りがない場合は ActiveRecord::Base のインスタンスメソッドまたはクラスメソッドについての話である。 1. 基的に更新は save で行う save と save! の違い save : 失敗したら false を返す。 save!: 失敗したら RecordInvalid 例外を投げる。 Dave Thomas 「Rails によるアジャイル Web アプリケーション開発」によると、この2つの使い分けは、 save: コントローラのアクションメソッドとして呼び出されることを想定。エラーを画面に表示することを考えると、例外を投げるのはまずいので true/false を返す。 save!: バッチ的な処理で使うべき。 とのこと。 2. update_attribute メソッドとは? update_attribu

    ActiveRecord 更新系 - elm200 の日記(旧はてなダイアリー)
    Arahabica
    Arahabica 2012/08/13
    rails delete db model
  • RailsでID列をBIGINTに変える方法メモ(でもやるもんじゃない)

    Browse: Home / migration, MySQL, rails, ruby / RailsでID列をBIGINTに変える方法メモ(でもやるもんじゃない) 現在作っているアプリで、IDがINTEGERのままだと足りない恐れが出てきたので、 BIGINT型に変えることにしました。 ちなみに使用しているデータベースはMySQLRailsのバージョンは2.1.2です。 調べてみると、IDをBIGINTにすると、以下の不具合があるようです。 Railsからbigintを使用する時の注意点 – R日記 でもまあ、今のアプリではRailsから新規データの挿入は行わないので、問題ないかな。 というわけで、まずは以下のようにmigrateを書いてみました。 (hogesテーブルのIDをBIGINTに変えるとします) def self.up change_column :hoges,

    Arahabica
    Arahabica 2012/08/13
    rails bigint
  • CSRFの対応について、rails使いが知っておくべきこと - おもしろwebサービス開発日記

    以前、CSRFについてのエントリを書きました。 CSRFについて - おもしろWEBサービス開発日記 上記エントリではCSRFの概念について書きましたが、もう少しつっこんで調べる必要が出てきました。調べたことを書いてゆきます。 基礎 application.rb(ないし適当なController)にprotect_from_forgeryメソッドを定義すれば、railsが自動的にCSRF対策をしてくれます。というか、デフォルトでapplication.rbに下記のように書いてあるので、特に何もせずともCSRF対策はバッチリなのです。 protect_from_forgery # :secret => '8ff3ed33f86a431662d8dfe255acdb4a' railsは、get以外の動詞のリンクに、authenticity_tokenというパラメータを自動的に付け加えます。ge

    CSRFの対応について、rails使いが知っておくべきこと - おもしろwebサービス開発日記
    Arahabica
    Arahabica 2012/08/13
    rails session csrf
  • RailsのSessionが良くわからないのでコードを追いかけはじめました : やむにやまれず

    2007年08月03日14:57 by 山崎泰宏 RailsSessionが良くわからないのでコードを追いかけはじめました カテゴリRuby Tweet sparklegate Comment(9)Trackback(0) 最近APIのマニュアルを読んでも良くわからないことが多くなってきた。なので、ぼちぼちRailsのソースを読む機会が増えて来ました。 やっぱりオープンソースってすごいですよ。 完全に透明なプロダクトって最後は中を見てしまえるという安心感があります。 この安心感って重要で、リチャードストールマン氏がその昔プロプライエタリなプリンタドライバのバグを直せなくてイライラしたって言っていた理由がよくわかります。 今回はRailsのセッションについて調べました。追いかけていくと分かるのですが、セッション関連の処理は非常に大掛かりです。 るびまにも書かれている通りチューニングのポイン

    RailsのSessionが良くわからないのでコードを追いかけはじめました : やむにやまれず
    Arahabica
    Arahabica 2012/08/13
    rails session
  • (Memo) Rails でセッションが突然消える - ボクココ

    掲題のような謎の現象で悩んでいたのでメモ。 この原因はRailsはCSRF対策が取れてなかった場合にセッションをクリアするようです。これはコールバックで呼び出したときなどでも同様に発生するので、原因が特定しにくいです。 その部分だけ、の問題であるなら protect_from_forgery :except => :complete のようにしてあげればセッションが消えることはなくなります。

    (Memo) Rails でセッションが突然消える - ボクココ
    Arahabica
    Arahabica 2012/08/13
    rails session 消える
  • クッキーを操作するbookmarklet - sttsのソースコードMemoブログ

    今日は、クッキーを操作するbookmarkletです。Webアプリケーションのテストでクッキーの書き換えや、複数のブラウザ間でクッキーを手軽に移動させたいときに使うことが出来ます。 ニコニコ動画など、HTTPのセッション管理が厳しく、とあるブラウザでログイン中に別のブラウザでログインすると、元のブラウザではログアウトしてしまうサイトが有ります。このようなサイトでクッキーを無理やりブラウザ間で移して同じセッションでアクセスすると複数のブラウザでログインしたままの状態に出来ます。 現在開いているページのクッキーを表示するのは以下です。 javascript:(function(){prompt("現在のクッキー",document.cookie);})();現在開いているページにクッキーを設定するのは以下です。 javascript:(function(){var c=prompt("クッキー

    クッキーを操作するbookmarklet - sttsのソースコードMemoブログ
    Arahabica
    Arahabica 2012/08/13
    ブックマークレット、cookie