・try()
nilでないときだけメソッドを実行
<%= user.updated_at.try(:strftime,'%Y/%m/%d') %>
・_was
<attr>_was <attr>の変更前の値。変更されてなかったら元の値。
<% if user.updated_at_was.present? %>
<%= user.updated_at.try(:strftime,'%Y/%m/%d') %>
<% end %>
2012/12/03
2012/10/24
[Ruby][Rails3] クラスのインスタンスメソッドとスタティックメソッド
rubyでは スタティックなメソッドを クラスメソッドと呼ぶそうだ
参考)
クラスのメソッド - satake7’s memo http://d.hatena.ne.jp/satake7/20090124/p1
その他、参考になりそうなもの)
class_attribute:
class_inheritable_accessorからclass_attributeに移行する際の注意点 - odeの開発メモ日記 http://d.hatena.ne.jp/ode/20110928/1317188311
参考)
クラスのメソッド - satake7’s memo http://d.hatena.ne.jp/satake7/20090124/p1
その他、参考になりそうなもの)
class_attribute:
class_inheritable_accessorからclass_attributeに移行する際の注意点 - odeの開発メモ日記 http://d.hatena.ne.jp/ode/20110928/1317188311
2012/09/12
[Ruby] 差集合:配列Aから配列Bを取り除く
配列A・・・default_lang から
配列B・・・select_lang を取り除いて、差集合を求める
配列B・・・select_lang を取り除いて、差集合を求める
default_lang = ["ja_JP", "en_US", "zh_CN"] select_lang = ["ja_JP"] unselect_lang = default_lang - select_lang #=>["en_US", "zh_CN"]
2012/05/10
2012/04/12
DBから取ってきた ARオブジェクトを 必要な数だけ切り出す
- 環境:Rails3
PHPで言うarray_sliceですよ
users= User.find(:all, :conditions=>[" ~省略 #全体の件数 puts('count [' + users.size.to_s + ']') #先頭から 3つ切り出す puts(users.slice(0..2).to_yaml)
2012/04/10
コードの中に日本語を書くとエラーになるときの おまじない
- 環境:Rails3
コードの中に日本語・・・
まあたとえば、
a = 'こんにちは'
↑的な?(試してないけど)
とにかく エラーが出ないためのおまじない
# encoding: utf-8
もしくは
# -*- coding: utf-8 -*-
を、ファイル頭に書く
参考)
Rails3 事始め: [Rails3] コードに日本語を書くとエラーになる件 - http://rails3try.blogspot.jp/2011/12/rails3_26.html
2012/04/07
ActiveRecordオブジェクトを そのままハッシュに入れたい時
ActiveRecord(AR)オブジェクトは
各オブジェクトごとの値を attributes っていうHashで保持しているらしい
・DEBUGは↓こんな感じ
attributesは
1件しかないARオブジェクトだったら
→ user.attributes
複数取れるARオブジェクトだったら
(プライマリキーで取得できる件数が必ず1件だったとしても find(:all 〜 とかで取得するとこっちになると思われ)
→ user[0..N].attributes
各オブジェクトごとの値を attributes っていうHashで保持しているらしい
user = User.find_by_user_id(params[:user_id]) logger.debug(user.to_yaml)#←中身デバッグ
・DEBUGは↓こんな感じ
[DEBUG] --- !ruby/object:User
attributes:
id: '1'
name: username
deleted_at: !!null
created_at: '2012-04-07 03:32:09'
updated_at: '2012-04-07 13:41:55'
changed_attributes: {}
previously_changed: {}
attributes_cache: {}
marked_for_destruction: false
destroyed: false
readonly: false
new_record: false
attributesは
1件しかないARオブジェクトだったら
→ user.attributes
複数取れるARオブジェクトだったら
(プライマリキーで取得できる件数が必ず1件だったとしても find(:all 〜 とかで取得するとこっちになると思われ)
→ user[0..N].attributes
2012/03/31
Hashから QueryStringを作る-Ruby
sort_params = params.sort_by{|key,val| key} query_string_params = (sort_params||{}).map{|k,v| URI.encode(k.to_s) + "=" + URI.encode(v.to_s) }.join("&") p (query_string_params .to_s)
結果:password=password&account=username
Hashをキーでソート(昇順)-Ruby
params = { "password"=>password, "account"=>username } sort_params = params.sort_by{|key,val| key} p (sort_params.to_s)
結果: { "account"=>username, "password"=>password }
登録:
投稿 (Atom)