我知道,使用 ActiveRecord 来使用非数据库源是很困难的,但我认为如果我能写出这样的东西会非常迷人:
user.worktimes.first.value
在我看来,获取信息就像它是一个数据库表。我访问 railscast.com 并找到了讨论这个问题的一集。但我想更深入地挖掘这一点。我可以阅读更多资源吗?
据我了解,ActiveModel 不支持关联?我想知道为什么没有将关联转移到 ActiveModel,因为它是一个非常有用的东西。:)
所以这是我的代码,我正在处理:
用户模型:
class User < ActiveRecord::Base
attr_accessible :department_id, :name
belongs_to :department
end
部门型号:
class Department < ActiveRecord::Base
attr_accessible :name
has_many :users
end
这是我创建的 CSV 模型:
class Worktime
attr_accessor :user_id,:date,:value
def initialize(params)
dir = Rails.root.join('app', 'models', 'worktimes.csv').to_s
source = File.open(dir,'r')
while(line=source.gets)
data = line.split(';')
if data[0] = params[:user_id] && data[1] = params[:date]
@value = data[2]
end
end
end
end
我非常感谢您的帮助,因为这是我第一次使用 Rails。