我有一个我正在构建的数组:
Post.where(:user_id => current_user.id, :status_id => 2).select(:id).inspect.to_a
当我打印变量时,我得到了这个:
[#<Post id: 70>, #<Post id: 44>]
我希望它是:
[70, 44]
我应该在这做什么?
答案 0 :(得分:8)
你可以这样做:
Post.where(:user_id => current_user.id, :status_id => 2).select(:id).map(&:id)
将select语句保留在那里仍然有用的原因是它减少了从数据库返回的数据量。即使相同的语句在没有显式选择的情况下也能正常工作,但使用它会更有效。
答案 1 :(得分:1)
Post.where(:user_id => current_user.id, :status_id => 2).map {|p| p.id }