创建部门后,用户可以选择添加学校名称。在学校的展示页面上,我想向所有部门展示这个名称的学校。
我校控制员的表演动作如下:
def show
@department = Department.where(:school == 'university of connecticut')
end
这显然不起作用。这个的正确语法是什么?
答案 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
。