Установка URL по умолчанию при использовании рельсов 3.1? - PullRequest
1 голос
/ 27 июля 2011

Я думаю, что новый конвейер ресурсов испортил метод CarrierWave по умолчанию.У меня есть файл, который я хотел бы использовать в качестве изображений по умолчанию, сохраненных как app/assets/images/listing_defaults/default.png.

. В моем загрузчике у меня есть следующее

def default_url
  "assets/listing_defaults/" + [version_name, "default.png"].compact.join('_')
end

Когда я запускаю свое приложение, изображениедоступен для просмотра по этому адресу (localhost:3000/assets/listing_defaults/default.png)

По какой-то причине, когда я пытаюсь заставить изображение по умолчанию отображаться в моем представлении, я ничего не получаю.

<p>
  <b>Images:</b>
  <ul>
    <% @listing.images.each do |image| -%>
      <li><%= image_tag image.image_url.to_s %></li>
    <% end -%>
  </ul>
</p>

Показагруженные файлы работают нормально.Любые идеи?

Кстати, я попытался установить свой default_url на следующий без удачи.

"#{Rails.root}/app/assets/images/listing_defaults/" + [version_name, "default.png"].compact.join('_')

Ответы [ 3 ]

0 голосов
/ 29 июля 2011

Я только что исправил это!У меня были те же проблемы.

Я называю это так ... user.avatar.tiny.url

Это приведет к URL-адресу по умолчанию, если вложение не существует:)

0 голосов
/ 24 мая 2013

Я просто поместил свое изображение в папку assets / image и в файл загрузчика:

[version_name, "image_name.png"].compact.join('_')

view:

<%= image_tag @something.image_url%>
0 голосов
/ 28 июля 2011

Похоже, вам не хватает передней косой черты:

"/assets/listing_defaults/" + [version_name, "default.png"].compact.join('_')
...