Во-первых, никогда не интерполирует значения в where
.Это может привести к SQL-инъекции параметров.Например, это плохо:
WishList.select("content").where("user_id = #{@user.id}")
И это нормально:
WishList.select("content").where(:user_id => @user.id)
Это автоматически экранирует часть запроса @user.id
, котораяв этом запросе нет нужды в in, но представьте, что вы делаете что-то вроде этого:
User.select("email, password").where("admin = #{params[:admin]}")
Тогда любой может пройти через любое значение в params[:admin]
, какое захочет.
Итак.
В любом случае, получите доступ к нему через ассоциацию:
wishes = @user.wishlist.select("content")
Тогда, как рекомендовал Карл Лазло:
wishes.map(&:content)