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

时间:2013-12-18 15:45:10

标签: ruby-on-rails ruby

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

我校控制员的表演动作如下:

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

这显然不起作用。这个的正确语法是什么?

2 个答案:

答案 0 :(得分:2)

你很亲密:

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

即。普通哈希语法。

答案 1 :(得分:2)

如果这些可以给你预期的结果:

@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