我目前正忙于学习 Ruby 和 Rails,由于我有基于 C 语言的背景,Ruby 的一些概念是新的,有些陌生。对我来说尤其具有挑战性的是适应解决常见问题的“Ruby 方式”,因此我经常发现自己在 Ruby 中编写 C 代码,这不是我想要实现的目标。
想象一下有这样的模式:
ActiveRecord::Schema.define(:version => 20111119180638) do
create_table "bikes", :force => true do |t|
t.string "Brand"
t.string "model"
t.text "description"
end
end
该数据库已经包含几种不同的自行车。我的目标是获取数据库中代表的所有品牌的数组。
这是我的代码:
class Bike < ActiveRecord::Base
def Bike.collect_brands
temp_brands = Bike.find_by_sql("select distinct brand from bikes")
brands = Array.new
temp_brands.each do |item|
brands.push(item.brand)
end
brands
end
end
Ruby 大师将如何编写代码来实现这一目标?