有人可以告诉我如何访问@brand_found(下面)中的数组。
我试过@ brand_found.id,@ brand_found [:id],@ brand_found_id ......似乎没什么用。
@brand_found = Brand.where("name = ?", params[:brand])
我想将找到的id传递给会话。
谢谢!
答案 0 :(得分:1)
@brand_found = Brand.where("name = ?", params[:brand]).first
@brand_found.id #=> brand id
因为where
正在返回一个对象数组。
答案 1 :(得分:1)
如你所说,它是一个数组,而数组没有任何id。
你应该迭代它的元素
@brand_found.each_with_index do |element, index|
session[:"brand_{index}"] = element.id
end
它会将ID存储在session[:brand_0]
,session[:brand_1]
等...
否则,取第一个元素并直接存储它的id,只需附加.first