Добрый день.
У меня есть рельсы 3.1. и камень Paperclip
в моем приложении для управления компаниями контрактов:
gem Paperclip интерполяция
MODEL
model/contract.rb
has_many :contract_files
model/contract_file.rb
has_attached_file :data
CONSOLE
Loading development environment (Rails 3.1.0)
1.9.2p290 :001 > cont = Contract.first
Contract Load (0.1ms) SELECT "contracts".* FROM "contracts" LIMIT 1
=> #Contract id: 1, organization: "Com.org", and etc ....
1.9.2p290 :002 > cont.contract_files
ContractFile Load (0.2ms) SELECT "contract_files".* FROM "contract_files"
WHERE "contract_files"."contract_id" = 1
=> #[ContractFile id: 88, caption: "asdf", and etc ...]
ВОПРОС
Будьте добры, скажите мне, пожалуйста, как я могу извлечь ID договора: 1 в
model/contract_files.rb
has_attached_file :data,
:url => "/assets/paperclip/:contract_id/:filename"
ПРИМЕР ЧТО Я ХОЧУ ПОЛУЧИТЬ
На http // localhost: 3000/контракты/1 получить такие файлы: http//localhost:3000/contracts/1/assets/paperclip/1/XXX.pdf http // localhost: 3000/контракты/1/assets/paperclip/1/XXY.pdf http // localhost: 3000/контракты/1 /assets/paperclip/1/XXZ.pdf
Большое спасибо за помощь.
1.9.2p290: 007> cont.contract_files.map {| cf | cf.data.url} => ["/assets/paperclip/data/88/original/download.jpg?1328369668"], но, как вы можете видеть, до сих пор нет контракта.id – itsnikolay
Ошибка Getiing http: //img40.imageshack .us/img40/836/screenshotat20120204212.png – itsnikolay
Есть ли принадлежность_to: директива контракта в определении ContractFile? – icanhazbroccoli