ruby-on-rails - rails : solving ambiguity on group using symbols

标签 ruby-on-rails

假设我有两张 table ,ParentChild他们都有一个名为 name 的字段, 如果我做:
Parent.join(:child).group(:name)
我会收到一条错误消息,指出该字段存在歧义 name .我可以做到以下几点
Parent.join(:child).group('parents.name')
为了解决它,但如果可能的话,我更喜欢使用符号。那么,是吗?

最佳答案

可以重新定义范围自动添加表名前缀

class Parent < ActiveRecord::Base
  class << self; alias_method :old_group, :group; end
  scope :group, lambda { |g|
    old_group("#{table_name}.#{g}")
  }
end

Parent.join(:child).group(:name)

关于ruby-on-rails - rails : solving ambiguity on group using symbols,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12646827/

相关文章:

ruby-on-rails - 在这种情况下如何避免双重渲染?

ruby-on-rails - 实现 ElasticSearch 后,Rails 应用程序在 Heroku 上崩溃

ruby-on-rails - 安装 Gitorious 后出现 Ultrasphinx 错误

ruby-on-rails - Amazon SES/Rails:553无效的电子邮件地址

php - 如何跟踪 YouTube 上某个项目的观看次数?

ruby-on-rails - rails 3 : How not to include column's name in a validation message without plugins?

javascript - 当我需要使用 browserify-rails 时,formsy-react npm 模块会破坏 Rails 应用程序

ruby-on-rails - Rails5 API模式应用程序和非API模式应用程序是否相互共享代码?

ruby-on-rails - Webrat 和 Rails : Using assert_contain after click_button gives me "You are being redirected"

ruby-on-rails - 使用 ruby​​ gem 通过数据挖掘或 NLP 来辨别推文是否正面