ruby-on-rails - 如何显示学校名称= x 的所有部门?

标签 ruby-on-rails ruby

创建部门后,用户可以选择添加学校名称。在学校的显示页面上,我想显示该学校名称的所有部门。

我的学校 Controller 的 show Action 是这样的:

def show
  @department = Department.where(:school == 'university of connecticut')
end

这显然是行不通的。正确的语法是什么?

最佳答案

如果这些应该给你预期的结果:

@department = Department.where(school: 'university of connecticut').first

@department = Department.where('school = ?', 'university of connecticut').first

where 采用散列或 SQL 语句。请注意,在第一个示例中,我们在使用符号 symbol: value 时使用快捷哈希方法,这相当于 :symbol => value

此外,请记住 where 返回一个 ActiveRecord::Relation 对象,而不是一个 ActiveRecord 对象。如果您希望直接接收 ActiveRecord 对象,则需要添加 .first 或另一种形式的 .find

关于ruby-on-rails - 如何显示学校名称= x 的所有部门?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662446/

相关文章:

ruby-on-rails - Rails 中的两列不能彼此相等

javascript - 禁用 turobolinks 来服务页面特定的 javascript

ruby-on-rails - 运行时错误 : can't add a new key into hash during iteration in Rack

mysql - 按共同关联的数量排序,即使没有(rails)

ruby-on-rails - 如何启动 rails server localhost :3000 on ubuntu 12. 04

ruby-on-rails - 对于潜在的高流量站点,我应该使用 haml 还是 erb 或 erubis?

ruby-on-rails - 如何将json存储到rails中的数据库

Ruby运行两个进程,输出结果到终端,安全结束

ruby - 在 Sinatra 中故意引发 500 个错误以测试它们的处理方式

ruby - Ruby 中是否有 nvl() 函数,还是我必须自己编写?