创建部门后,用户可以选择添加学校名称。在学校的显示页面上,我想显示该学校名称的所有部门。
我的学校 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/