2016-03-15 7 views
0

Я борюсь с добавлением предложения .where к image_tag. Цель состоит в том, чтобы показать изображение бренда из таблицы Бренд, когда current_user.brand соответствует существующему бренду.Rails: Paperclip gem/where-clause in image_tag

Вот код в моих просмотров:

<%= image_tag ((Brand.where(company: current_user.brand)).logo.url(:thumb)) %>

Но это не работает. Я получаю эту ошибку:

undefined method `logo' for Brand::ActiveRecord_Relation:0x007ffd06dc2458

На самом индексной странице Марка я могу показать логотип с этим:

<% @brands.each do |brand| %> 
    <%= image_tag brand.logo.url(:thumb) %> 
<% end %> 

ДБ-схема таблицы Марка:

t.string "logo_file_name" 
t.string "logo_content_type" 
t.integer "logo_file_size" 
t.datetime "logo_updated_at" 

Есть ли у вас идеи, как это достичь? Спасибо заранее!

ответ

2

undefined method `logo' for Brand::ActiveRecord_Relation:0x007ffd06dc2458

Вы звоните logo на AR отношения, а не на одной записи, так это ошибка.

Вместо этого вы можете просто определить переменную экземпляра как ниже

@user_brands = Brand.where(company: current_user.brand) 

и итерацию через него

<% @user_brands.each do |brand| %> 
    <%= image_tag brand.logo.url(:thumb) %> 
<% end %> 
Смежные вопросы