在Rails ActiveRecord帮助程序中,有一种更简单的方法可以通过搜索另一列来获取id列。
目前:
find_by_slug("test").id
更新
基于下面的答案,在Rails 4中不推荐使用find_by_函数。是否有更简洁的方式来编写以下内容(因为我有很多这些):
QUESTION = where(slug: "question").pluck(:id).first
ANSWER = where(slug: "answer").pluck(:id).first
NOTE = where(slug: "note").pluck(:id).first
答案 0 :(得分:1)
如果您只在一个字段后面,请使用pluck
:
where(slug: "test").pluck(:id).first
假设slug
是唯一的,pluck(:id)
将返回一个包含1个元素的数组(如果找不到匹配的slug,则返回0个元素)。
此外,Rails 4中不推荐使用神奇的find_by_*
方法。您不应该使用它们。