Вопрос ассоциации скрепки - PullRequest
2 голосов
/ 11 апреля 2011

У меня есть две модели
Пользователь и UserAgent
У пользователя есть один UserAgent, а UserAgent принадлежит пользователю
И UserAgent использует Paperclip для загрузки файла на сервер
Используя этот
<br> has_attached_file :agreement,<br> :path => "#{Rails.root}/public/upload/new_agreements/:id/:basename.:extension"<br>

Это нормально работает. Он создает папки, необходимые для загрузки файла.

Но мне нужно создать папку, подобную этой
:path => "#{Rails.root}/public/upload/new_agreements/User:id/:basename.:extension"<br> Это означает, что мне нужно загрузить файл в соответствии с User.id, а не UserAgent.Id
Есть ли способ?Вы можете задавать вопросы, если вы не понимаете вопрос.

1 Ответ

2 голосов
/ 11 апреля 2011

Попробуй это. Я не проверял его, но вы можете изменить его:

class UserAgent < ActiveRecord::Base
  has_attached_file :file, 
                    :path => lambda{ |a| "#{Rails.root}/public/upload/new_agreements/#{a.instance.user.id}/:id/:basename.:extension" }
end
...