You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
概要 scopeでModelに検索条件を定義 内容 scopeを利用して、Modelによく利用する検索条件を定義することができます。 scope(スコープ名, 条件式) scopeメソッドはチェーンして流れるようなインターフェースで利用することも可能です。 サンプル ユーザーの検索条件をスコープとして登録 Model(Scope定義部のみ抜粋) scope :login_is, lambda {|login|where("login like ?", "%#{login}%")} scope :name_is, lambda {|name|where("name like ?", "%#{name}%")} scope :email_is, lambda {|email|where("email like ?", "%#{email}%")} これで、ログイン・名前・Emailの項目を組み
定期的なメンテナンスをRakeタスクとして登録して呼び出したいと考えました。 Rakeタスクの作り方を調べたのでメモ。 シナリオは、メール認証が一週間以上されないユーザーのレコードを削除するです。 $ rails g task inactive_user #=> inactive_userが名前 #=> rake inactive_user:xxx のように使うので名前に気をつけて # encoding: utf-8 namespace :inactive_user do desc "Users中confirm_atから1週間が経過していれば削除" #=> 説明 # $ rake inactive_user:destroy_unconfirmed のように使う # :environmentは超大事。ないとモデルにアクセスできない task :destroy_unconfirmed => :
instance_variable_set(var, value) -> object[permalink][rdoc][edit] オブジェクトのインスタンス変数 var に値 value を設定します。 インスタンス変数が定義されていなければ新たに定義されます。 [PARAM] var: インスタンス変数名を文字列か Symbol で指定します。 [PARAM] value: 設定する値です。 [RETURN] value を返します。 obj = Object.new p obj.instance_variable_set("@foo", 1) #=> 1 p obj.instance_variable_set(:@foo, 2) #=> 2 p obj.instance_variable_get(:@foo) #=> 2 [SEE_ALSO] Object#instance_var
仕事で、Railsプログラムを書いていたとき、 実行するメソッドは同じなんだけど、クラス名だけが違う。例えば、モデルDetailとモデルItemに対してfindメソッドを実行したい。実行するモデルを動的に決めれたら楽なんだけどなぁ。 っていう場面に遭遇して、あれこれ探してみたら、ActiveSupport::Inflectorにconstantizeというメソッドがあることを知りました。 使い方は、簡単。例えば、モデルとしてItemってものを定義していたとき、"Item".constantize.find(1)ってやると、 ruby-1.9.2-p290 :013 > "Item".constantize.find(1) Item Load (0.4ms) SELECT "items".* FROM "items" WHERE "items"."id" = ? LIMIT 1 [["id"
Railsアプリケーションの中で非同期処理(バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRbやdelayed_jobなどが有名ですが、もう一つ有望な選択肢としてResqueというのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.orgによれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5
First off, when you create a check_box in a form_for (which it looks like you are), then the form should by default send :image_delete as "1" if checked and "0" if unchecked. The method declaration looks like this: def check_box(method, options = {}, checked_value = "1", unchecked_value = "0") Which shows that you can assign other values if you want to, but that is of course optional. Secondly, th
最近PrePANのcarton 1.0化を進めるため、vagrant、chef、knife、AWSなどにはまりまくっております。今回はその中でvagrantにchefを適用しようとしたら全く終わらなくて、それについて調べたことについて話します。 PrePANの開発環境でvagrantを使っていたりするのですが、そのVMに対してchefを適用してみたところ、固まってしまって動かない(厳密に言うとすこしずつしか動かない)という状態になりました。そこでいろいろ調べてみると、IPv6とDNSの関係でネットワークの疎通が遅くなっていたという事がわかりました。 詳しくは Slow networking (due to IPv6?) on CentOS 6.x · Issue #1172 · hashicorp/vagrant · GitHub を見てもらうと分かると思いますが、IPv6で名前解決に行く
This guide covers the configuration and initialization features available to Rails applications. After reading this guide, you will know: How to adjust the behavior of your Rails applications. How to add additional code to be run at application start time. 1 Locations for Initialization CodeRails offers four standard spots to place initialization code: config/application.rb Environment-specific co
Rubyでプログラム書くにあたって、bundlerを使わないプログラムは1年ぐらい経つと動かなくなってる事が多々あって、bundlerマジ重要なのと ぐぐってもあまりbundlerの利点や説明がまとまってる記事がなかったので 研究室のwikiに書いた記事を転載しておく。 Bundlerとは Bundler: The best way to manage a Ruby application's gems プロジェクト内で使うRubygemsを管理するしくみ。 プロジェクトの一番上のディレクトリに「Gemfile」というテキストファイルを置き、その中にgemの名前(と必要あればバージョンも)書く。 % bundle install というコマンドで、gemが一括インストールできる プログラム内で require 'bundler' Bundler.require と書くと、gemが一括req
最近、初めてAngularJSを使ったんですが、すごく便利でなぜ今までちゃんと触ってこなかったのかを後悔しています。 ただ、便利な面学習コストも高くて、なかなか使いこなすまでに時間がかかりそうです。 僕もまだ一部機能しか使えていませんが、これからAngularJSを勉強する人にオススメの記事などをメモ程度にまとめます。 公式サイト http://angularjs.org/ 英語が得意な人はここだけ見てればいいと思います。 どんなものなのかをとりあえず知りたい アシアルさんの記事が概要を掴むのにわかりやすいと思います。 AngularJSに触れてみる その1 : アシアルブログ あと、@naoya_itoさんのスライドで説明している「双方向バインディング」を見て、AngularJSすげー!ってなりました。 英語が苦手な人にオススメのチュートリアル AngularJSのチュートリアルを、日本
あるととても便利だと思います はじめに エンジニアの@ryooo321です。 よろしくお願いします。 ご存知の方も多いかもしれませんが、今回はRubyからRedisを使う際にとても扱いやすいredis-objectsをご紹介したいと思います。 https://github.com/nateware/redis-objects 特徴 ・ORMではない ・Redisのデータ型(counter, value, list, hash, set, sorted-set)をサポート ・ロック機能も利用可能 好きなところ ・モデルの任意のプロパティをRedisに保存するような感覚で利用できる点。 ・Redisのキー情報をシームレスに管理できる点。 ・ARモデルの一部プロパティをRedisに移したりできるので、データストア単位でなく理想の単位でモデルを定義できる点。 This
RailsでFormを扱う時は、Modelと紐付けることで、validationなどの設定はModelに書くことができ、非常に便利です。 ですが、DBと関係ない場合は紐付ける対象のModelが生成されていません。 そこで使用するのがActiveModelです。 https://github.com/rails/rails/tree/master/activemodel 使い方 使い方は簡単で、既存のModelと同じように扱うことができます。 Modelクラスの作成 まずは、Formのプロパティを持ったModelクラスを作成します。 このクラスはActiveModel::Modelをincludeさせます。 class Hoge include ActiveModel::Model # Formで使用するプロパティを定義する attr_accessor :foo, :bar, :piyo #
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く