Rails 3 - Связанные модели с Paperclip - PullRequest
0 голосов
/ 01 марта 2011

Пользовательская модель имеет модель Project, к которой прикреплено фото с использованием скрепки

Я не припоминаю, чтобы когда-либо возникали подобные проблемы. Проблема в том, что вложение сохраняется в файловой системе, но не база данных.
например RAILS_ROOT / public / system / photos / id / style / file создается, но User.find (1) .projects [0] .photo? возвращает false

Модель пользователя:

has_many :projects, :dependent => :destroy

Модель проекта:

attr_accessible :title, :content, :src, :medium, :photo
attr_accessor :photo_file_name
attr_accessor :photo_content_type
attr_accessor :photo_file_size
attr_accessor :photo_updated_at
belongs_to :user
has_attached_file :photo, :styles => {:medium => '800x600>', :thumb => '100x100>'}

projects_controller:

def create
    @user = current_user
    @project = Project.create! do |p|
        p.user_id = @user.id
        p.medium = params[:project][:medium]
        p.title = params[:project][:title]
        p.content = params[:project][:content]
        p.src = params[:project][:src]
        p.photo = params[:project][:photo]
    end
    if @project.save
        redirect_to projects_path
    else
        render :action => 'new'
    end
end

выставочное действие проекта:

- form_for(@project, :html => { :multipart => true }) do |f|
  ...

Обычно в моем файле маршрутов были бы "ресурсы: проекты", но по какой-то причине это портило мои пользовательские маршруты (/ проекты отображались на действие show вместо индекса, а представления формы обрабатывались индексом действие) поэтому я удалил строку ресурсов. Ассоциация проект-пользователь работает правильно, но фотография не присваивается проекту. Я не уверен почему.

1 Ответ

0 голосов
/ 01 марта 2011

Укажите параметр хранилища базы данных для has_attached_file

has_attached_file: photo,: storage =>: database

...