タグ

RailsとTipsに関するcaesiumのブックマーク (15)

  • #274 Remember Me & Reset Password - RailsCasts

    Railsアプリケーション用の優れた認証ツールはいくつもありますが、自分で作成するという選択もあります。エピソード250 [動画を見る, 読む]ではそれを実践し、その後のエピソード270 [動画を見る, 読む]ではRails 3.1になってhas_secure_passwordによって自動的にパスワードハッシュを生成できるようになって、作業がさらに簡単になったことを紹介しました。 これらのエピソードの中で作成した認証のしくみは基的なものだったので、今回のエピソードではそれをさらに改良して新しい機能を追加していきます。最初に「ログイン状態を記憶」のチェックボックスをログインページに追加して、ユーザが自動的にログインすることを選択できるようにして、その次に「パスワードをリセット」のリンクを追加して、パスワードを忘れたユーザが再設定できるようにします。エピソード270で作成したアプリケーション

  • sessionの期限をアクセス毎に変化させる - maeshimaの日記

    アクセス毎にsessionの期限を変化させるには、昔はなんかいろいろ大変だったような気がするんだけど、Rails 2.3 からは ActionController::Base.session_options[:expire_after] = 2.years のように expire_after オプションを使うとすぐ出来るみたいです。 昔のやりかたの考察 Railsでログイン状態を保持する方法 - おもしろWEBサービス開発日記 参考 大徳日記 » Rails 2.3でのSessionの有効期限を延ばす方法

    sessionの期限をアクセス毎に変化させる - maeshimaの日記
  • Railsでログイン状態を保持する方法 - おもしろwebサービス開発日記

    (6/20 大幅に加筆修正を行いました)Railsのセッションの有効期限は、デフォルトだとブラウザが終了するまでです。これだと、ログインページによくある「ログイン状態を保持する」チェックボックスが作れません。というわけで、やり方を調べてみたら、よさそうな情報がのっているサイトを見つけたので英語の勉強がてら概要を意訳してみたいと思います。 HowtoChangeSessionOptions in Ruby on Rails すべてのセッションに対して一律に有効期限を作りたい場合 environment.rbに下記のように設定します。 ActionController::Base.session_options[:session_expires] = Time.local(2009,"jan") ここでは、上記のように絶対時間を入れます。Time.now + 1.weekのようにするのはうまく

    Railsでログイン状態を保持する方法 - おもしろwebサービス開発日記
  • sessionに有効期限を設定する時の試練 - ザリガニが見ていた...。

    Railsを使っていて自分で直接cookieを設定するという状況はほとんどなく、大抵はsessionをハッシュ感覚で、便利に利用してきた。Rails2.0以降はsessionの保存先はデフォルトでcookieになり、そのまま利用する限りcookieの有効期限は空欄のままなので、ブラウザを終了するまでsessionは保持されることになる。そして、次回ブラウザを起動すると、期限切れのcookie(その中にsessionが保存されている)は削除されている。 ほとんどの場合、上記デフォルト設定のまま使っていたか、またはrestful_authenticationなどに頼りきりだったので、いざ自分でsessionに有効期限を設定しようとした時、苦労してしまった。とても基的なことであるのに...。 config/environment.rbでの設定 2009-01-01 00:00:00まで有効にし

    sessionに有効期限を設定する時の試練 - ザリガニが見ていた...。
  • 【Rails3】カラム名を変更する - ふわふわRuby on Rails

    2つ方法があります。 (1)マイグレーションをテーブル追加前に戻しテーブル名を変更の上再度マイグレーションする。 (2)カラム名を変更するマイグレーションを新規に行う。 「カラム名間違えたぁぁあ!(´A`#)」ぐらいなら(1)、開発を進めてしまっていたら(2)、が良いでしょう。 (1)の方法だとDBのテーブルをデータごと消されちゃうから要注意です。 以下、手順: (1) (1-1)マイグレーションをロールバック: $ rake db:rollback マイグレーションを2回ロールバックするときは: rake db:rollback STEP=2 (1-2)マイグレーションファイルを修正する。 (1-3)ファイルを再度マイグレート: $ rake db:migrate ※複数回ロールバックしていたら、同じ回数実行する。 (2) $ rails g migration changecol_co

    【Rails3】カラム名を変更する - ふわふわRuby on Rails
  • Associations | 優しいRailsの育て方 | ヽ( ・∀・)ノくまくまー

    class Member < ActiveRecord::Base has_one :favorite end class Favorite < ActiveRecord::Base belongs_to :member end has_one で関連を定義すると、以下のメソッドが自動的に定義されます。(belongs_to 側にも同様のメソッドが定義されます)。 (関連名)(force_reload = false) : 関連するオブジェクトを取得します。 (関連名)= : 関連するオブジェクトを代入します。(自動的にDBへ保存されます) (関連名).nil? : 関連するオブジェクトが存在しないことを確認します。(なければ true を返す) build_(関連名)(attributes = {}) : 関連するオブジェクトを作成して返します。(DBへの保存はされません) create

  • FFTT : RailsのMigration

    なんですかこれは データベース構造をバージョン管理する仕組み SQLではなくRubyのコードでデータベース構造を記述することによって抽象化 番環境への変更の適用漏れがなくなる ほかの開発環境や検証環境への変更の適用がバッチリ 必要があれば以前のバージョンに戻せる 複数のデータベースエンジンへの対応が簡単にできる MySQL, PostgreSQL, SQLite, SQL Server, Sybase, Oracle (メジャーなものはDB2以外ぜんぶだって) どうつかいますか $ svn up $ rake migrate セットで使う。 これで手元の開発環境のソースコードとデータベースの構造が最新のものになる。 仕組み schema_infoというテーブルとMigration定義ファイルの名前でバージョン管理 Migration関連の操作 rake db:schema:dump (r

    FFTT : RailsのMigration
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    caesium
    caesium 2011/07/22
    Rails での n+1 問題について。これを知らずはまってしまったorz
  • Rails 3.0 + jQuery で RJS - happy lie, happy life

    題に入る前に、そもそも RJS とは何なのかを説明すると、来 jQuery の $.ajax() などを使ってごりごり書かないといけなかった JavaScript による非同期通信をフレームワーク側で吸収して、通常の html ビューのレンダリングと同じ感覚で記述できるように用意されたものです。 この「通常の html ビューのレンダリングと同じ感覚」というところは重要なポイントです。コントローラ内にも RJS のメソッドは直接記述できるのですが、Rails のガイドラインでは以下のように勧告しています。 Placing javascript updates in your controller may seem to streamline small updates, but it defeats the MVC orientation of Rails and will ma

    Rails 3.0 + jQuery で RJS - happy lie, happy life
  • railsのクッキーとセッションについてまとめ - おもしろwebサービス開発日記

    こないだ、よくわからんので今度調べると書いたところについて。 CSRFの対応について、rails使いが知っておくべきこと - おもしろWEBサービス開発日記 まずクッキーとセッションの違いから。自分の認識はこんな感じ クッキーもセッションも、ブラウザにデータを保存させる仕組み。 クッキーはデータをそのままブラウザに保存させる。 セッションはセッションIDをブラウザに保存させ、データはサーバ側が保持する。サーバはセッションIDをキーにしてデータを取り出す。 railsでクッキーを設定するには railsでは、クッキーは基的に使わないと思ってますが、一応使い方をメモ。 cookies[:hoge] = { :value => "value", :expires => "30.days.from_now", :path => "/store", :domain => "www.example.

    railsのクッキーとセッションについてまとめ - おもしろwebサービス開発日記
  • Railsでモデル名に複数形を使ってはいけない (BLOG) - RED-MOUNT.COM

    モデル名に複数形を使うと「nil.to_sym」というNoMethodErrorが表示される Rails(2.1.1現在)でscript/generateする時、モデル名に複数形を使ってしまうと、 config/routes.rb で map.resources を使ったRESTfulアプリケーションを作る際にエラーになります。 例えば、 ruby script/generate scaffold abouts title:string content:text と、複数形の名称を使用してscaffoldした後に、scaffoldで生成されたコントローラーで新規作成や修正を行おうとすると NoMethodError: You have a nil object when you didn't expect it! The error occurred while evaluati

  • Railsプログラマが知っておくべき97のこと

    こんにちは、SHIMADAです。 最近、オライリー社の新刊「プログラマが知るべき97のこと」がTwitterで話題に上っているようですね。 ここでは、Railsプログラマが知るべきことを挙げてみました。 残念ながら97も思いつかなかったので、25個です。看板に偽りありですね。ごめんなさい! ■ コントローラ 行数よりもインデントの深さに気をつける if-then-elseをネストしたくなったらロジックが間違っている アクションでないメソッドはprotected/privateにする 行数を減らす目的でbeforeフィルタを書かない グローバル変数、インスタンス変数にアクセスするポイントを集中させる グローバル変数(paramsとか)に代入しない ダイナミックファイダを使えないfindをみつけたらモデルのメソッド/named_scopeにする ■ モデル DBのテーブルを持たないクラスはAR

  • Paginateを使ってページ分割をしよう Ruby on Rails Pro

    Paginateを使ってページ分割をしよう Ruby on Rails のプラグインであるpaginateを使うと、データベースから読み込んだ大量のデータ表示を簡単に分割して表示することができる。ダウンロード、インストール方法を紹介したのち、基礎的な使い方をサンプルを交えて紹介。また、応用としてSQL文を指定した結果をページ分割する方法や表示の見栄えを良くするCSSのサンプルも紹介。

  • AutoPagerizeなwill_paginateにしておく - ザリガニが見ていた...。

    classic_paginationのREAD_MEには、以下のように書かれている。 This code was extracted from Rails trunk after the release 1.2.3. WARNING: this code is dead. It is unmaintained, untested and full of cruft. There is a much better pagination plugin called will_paginate. Install it like this and glance through the README: script/plugin install svn://errtheblog.com/svn/plugins/will_paginate It doesn‘t have the same API, b

    AutoPagerizeなwill_paginateにしておく - ザリガニが見ていた...。
  • [Rails] Rails2.2でActionController::RoutingError (No route matches のエラーが出たときの対処方法について

    Rails2.2でアプリを作成している時に、今まででのバージョンではでなかった ActionController::RoutingError (No route matches というエラーがでてアプリが動作しなくなりました。その時の対処方法についてまとめておきます。 対処方法としては environment.rb に下記の行を追加するだけで対処可能です。 ENV[‘RAILS_RELATIVE_URL_ROOT’]=”/アプリケーション名” Rails2.2 からはrelative_url_root の動作が少し変わったようです。 詳細は下記から確認できます。 http://groups.google.co.jp/group/rubyonrails-core/browse_thread/thread/da88f067f38e76ca Rails2.2でアプリを作る方は少し注意したほうがよ

  • 1