Изображения скрепки не отображаются в приложении rails - PullRequest
1 голос
/ 07 февраля 2012

Я использую скрепку для загрузки изображений на сайт, но когда я это делаю, она показывает заполнитель изображения с вопросительным знаком, а не само изображение.Что я делаю неправильно?В модели:

     attr_accessor :photo_file_name
     attr_accessor :photo_content_type
    attr_accessor :photo_file_size
    attr_accessor :photo_updated_at
    attr_accessible :photo


#paperclip-------------------------------
 has_attached_file :photo,
                 :url => "/:attachment/:id/:style/:basename.:extension",
                 :path => ":rails_root/public/:attachment/:id/:style/:basename.:extension"

В виде:

<p id="notice"><%= notice %></p>
<div id="container">
<div id="content">
<%= image_tag @post.photo.url %>
<p>
  <b>Title:</b>
   <%= @post.title %>

и в форме у меня:

<div class="field">
<%= post_form.file_field :photo %>
</div>

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Избавьтесь от всего вспомогательного оборудования и убедитесь, что ваша форма возвращает что-то вроде:

params[:post][:photo]

Обычно через:

form_for @post do |f|
  f.file_field :photo
end

Затем в контроллере сообщений вы можете обновить или иным образом сохранить конкретное сообщение с прикрепленным :photo. Отобразите фотографию, просто пометив ее image_tag @post.photo, остальное сделает Paperclip.

Я настоятельно рекомендую удалить параметры :url и :path и просто использовать настройки по умолчанию, что хорошо для большинства приложений. Он включает в себя каталог system/, который по умолчанию является символом общего доступа в Capistrano, что приятно.

0 голосов
/ 07 февраля 2012

Вы проверили, хранится ли файл изображения: rails_root / public /: attachment /: id /: style / still?

Щелкните правой кнопкой мыши на изображении-заполнителе, чтобы проверить его URL, верно?

...