ruby-on-rails - rails 3 : can't call an ActiveRecord query with the #send method (NoMethodError)

标签 ruby-on-rails ruby activerecord

在 Rails 控制台中,我得到了这些结果:

Employee.send("find_by_shop_id(2)")
NoMethodError: undefined method `find_by_shop_id(2)' for <Class:0x000000032f75d0> from /var/lib/gems/1.9.1/gems/activerecord 3.1.4/lib/active_record/base.rb:1088:in `method_missing'

但是当我直接输入方法时:

Employee.find_by_shop_id(2)
=> #<Employee id: 2, first_name: "Roger", last_name: "Bartoletti", email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="523f33203b3e3b370d3a333c37123a3320203b217c303b28" rel="noreferrer noopener nofollow">[email protected]</a>", shop_id: 2>

为什么#find_by_shop_id无法“发送”?

谢谢

最佳答案

您尝试执行的方法名为 find_by_shop_id,而不是 find_by_shop_id(2)send method 需要一个方法名称,后跟参数。例如,

Employee.send "find_by_shop_id", 2

关于ruby-on-rails - rails 3 : can't call an ActiveRecord query with the #send method (NoMethodError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37745961/

相关文章:

ruby-on-rails - 如何使用 rspec 模拟/伪造文件的存在?

ruby-on-rails - 在大型关联上进行高效选择和区分

ruby-on-rails - 为什么我的 session 在使用 PerformanceTest 而不是 IntegrationTest 时会过期?

ruby - 如何使用 Ruby 发布到 Measurement Protocol

mysql - 在 Rails 应用程序中管理 2 个不同的数据库模式

ruby-on-rails - 每次迁移后,架构文件中的外键都会被删除

ruby-on-rails - float 导致计算不准确

ruby-on-rails - 使用 Tire 和 ElasticSearch 搜索多个模型

ruby-on-rails - Ruby/Rails - 通过 ActiveResource 使用 Web 服务

mysql - 动态生成的字段不保存