我认为以下两个是等价的:

named_scope :admin, lambda { |company_id| {:conditions => ['company_id = ?', company_id]} }

named_scope :admin, lambda do |company_id| 
  {:conditions => ['company_id = ?', company_id]}
end

但是Ruby在抱怨:

ArgumentError: tried to create Proc object without a block

有什么 idea 吗?

推荐答案

这是一个解析器问题.试试这个

named_scope :admin, (lambda do |company_id| 
  {:conditions => ['company_id = ?', company_id]}
end)

Ruby-on-rails相关问答推荐

Ruby on rails Admin-有没有一种方法可以在成对的管理控制器类中合并、重用应用程序控制器类?

如何在 JR gem 中指定每个资源的最大页面大小配置

引用连接 Rails 表中枚举的查询

Rails 创建自定义函数/方法以及存储位置

如何在 Rails 中声明动态路由范围/命名空间变量?

无法加载此类文件 -- mysql2/mysql2

Rails 5:如何从数据库中删除列?

ruby on rails 和 javascript 之间的时间转换反之亦然?

Ruby 地理定位Ruby /插件

rails 3 - link_to 销毁不工作

带有查询字符串参数的 Rails 动作缓存

错误未初始化的常量 AWS (NameError)

控制器 helper_method

使用 rvm 更新 ruby​​ 版本后收到警告消息Path set to RVM

Rails 控制台中手动更新属性值的验证问题

Rails SQL 正则表达式

Rails 4模块的未初始化常量

默认情况下 haml

Rails 3:乘客找不到Bundle 程序安装的 git gem

Rails 在 id 字段上重置种子的方法