August 2009
5 posts
1 tag
関連性をつけておくとコードを短くできる →
class Project < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :project
end
で関連性をつけておくと
@project = Project.find(params[:id])
@tasks = Task.find(:all, :conditions => ['project_id = ? AND complete = ?', @project.id, false])
を
@project = Project.find(params[:id])
@tasks = @project.tasks.find_all_by_complete(false)
に変えられコードを短くできるというお話。
1 tag
Friendfeedのエントリーを全消しするスクリプトを書いてみた
require 'uri'
require 'net/http'
require 'rexml/document'
begin
Net::HTTP.version_1_2
req = Net::HTTP::Get.new('/v2/feed/NICKNAME?format=xml&num=100&start=1')
xml = Net::HTTP.start('friendfeed-api.com',80) {|http|
http.request(req).body
}
doc = nil
doc = REXML::Document.new xml
dels = []
doc.elements.each('feed/entry') do |elm|
dels <<...
1 tag
find_byをつかうとコードが短くなるよ →
@tasks = Task.find(:all, :conditions => ['complete = ?', false])
よりも
@tasks = Task.find_all_by_complete(false)
の方がコードが短い。やってることは全く一緒。
1 tag
||=を使えば値が無ければ=以下を実行、あれば実行しない →
def current_user
User.find(session[:user_id])
end
じゃなくて
def current_user
@current_user ||= User.find(session[:user_id])
end
でDBアクセス減らせますよという話。
1 tag
Railsの復習をかねてRailscastsを見ていくことにします
http://railscasts.com
を#1エピソードから見ていくことにします。