Итак, я следовал инструкциям здесь: http://doganberktas.com/2010/09/14/amazon-s3-and-paperclip-rails-3/
В моей модели профиля у меня есть:
attr_accessor :pic_file_name (this was requested on first attempt)
has_attached_file :pic,
:styles => {
:thumb=> "100x100#",
:small => "400x400>" },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/s3.yml",
:path => "/:style/:id/:filename"
У меня есть ресурсы: профили в моих маршрутах.
мое представление имеет следующее:
<%= form_for :profile, @profile, :url => profile_path, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>
Когда я просматриваю страницу, я получаю эту ошибку: ни один маршрут не соответствует {: action => "show",: controller => "profile"}.Хотя я могу вас заверить, у меня есть контроллер профилей с действием show.
Если я изменю представление на
<%= form_for :profile, @profile, :url => @profile, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>
Это говорит мне, что у меня неверное количество аргументов (3 для2)
Тогда, если я изменю вид на
<%= form_for @profile, :url => profile_path, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>
Страница загрузится, и я могу загрузить изображение.Однако, попытка напечатать его позже, используя:
<% = current_user.profile.pic%>, дает мне: /pics/original/missing.png (как и profile.pic.url)