我的应用正在向客户群发送消息。我在循环中向每个客户端发送消息。
我正在使用3个ActiveRecord模型:
class Message < AbstractBase
has_and_belongs_to_many :groups
end
class Client < ActiveRecord::Base
has_and_belongs_to_many :groups
end
class Group < ActiveRecord::Base
has_and_belongs_to_many :messages
has_and_belongs_to_many :clients
end
我必须在循环中存储每个客户端的成功信息,以便在出错时我知道在哪里继续。这个想法是在成功发送消息时将客户端的ID保存在表X中。如果我用PHP做到了,我将手动控制(用于存储客户端ID的新数据库表)。 你会如何在Ruby on Rails中做到这一点?我真的需要一个模型吗?
答案 0 :(得分:1)
您仍然可以直接在rails中访问数据库。继续进行迁移并创建新表。有许多方法可以直接在rails中运行查询。您可以像这样运行它们:
ActiveRecord :: Base.connection.select_one('SELECT COUNT(*)FROM mytable') 要么 ActiveRecord :: Base.connection.execute('SELECT * FROM mytable')
了解ActiveRecord :: Base上的连接,了解不同的方法。
如果你想要别的东西,你可以看看续集的宝石。