Rails 通过 SHA1 而不是 id 进行关联
我正在尝试链接 SHA1 上的两个表,而不是跨表查找 SHA1,然后链接 via id。
我的模型是
class Dataset < ActiveRecord::Base belongs_to :dataset_hash end class DatasetHash < ActiveRecord::Base has_many :datasets end
我尝试链接使用的
has_many :datasets, :finder_sql => 'Select datasets.* FROM datasets LEFT JOIN dataset_hashes ON datasets.dataset_hash=dataset_hashes.hash WHERE dataset_hashes.hash=#{dataset.dataset_hash}'
错误
,但我只是收到DatasetHash(#...)预期 ,得到 String(#...)
I'm trying to link two tables on a SHA1 rather than doing a find for the SHA1 across tables, and linking the via id.
My models are
class Dataset < ActiveRecord::Base belongs_to :dataset_hash end class DatasetHash < ActiveRecord::Base has_many :datasets end
I tried linking using
has_many :datasets, :finder_sql => 'Select datasets.* FROM datasets LEFT JOIN dataset_hashes ON datasets.dataset_hash=dataset_hashes.hash WHERE dataset_hashes.hash=#{dataset.dataset_hash}'
but I just get an error of
DatasetHash(#...) expected, got String(#...)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 belongs_to 和 has_many:
You can use
:foreign_key
and:primary_key
available in belongs_to and has_many: