Pergunta

O plug -in APTCHENT_FU é meio antigo, mas eu tenho que modificar um aplicativo antigo e não posso usar outro plug -in como o PaperClip etc. Então, aqui está o código sem mais delongas

Submissions table structure
---------------------------
| content_type        | varchar(255) | YES  |     | NULL
| filename            | varchar(255) | YES  |     | NULL


app/models/submission.rb
------------------------
has_attachment :storage => :file_system,
           :path_prefix => 'public/submissions',
           :max_size => 2.megabytes,
           :content_type => ['application/pdf', 'application/msword', 'text/plain']   

app/models/user.rb
------------------
has_one :submission, :dependent => :destroy


app/views/user/some_action.html.erb
-----------------------------------
<% form_for :user, :url => { :action => "some_action" }, :html => {:multipart => true} do |f| %>
....
  <%= file_field_tag "submission[uploaded_data]" %>
<%end%>

app/controllers/user_controller.rb
----------------------------------
@user = User.find_user(session[:user_id])
@submission = @user.submission
if request.post?
  @submission.uploaded_data = params[:submission][:uploaded_data]
end

Quando o formulário é enviado, os campos do banco de dados "content_type" e "nome do arquivo" são atualizados e exibem os valores corretos, mas o arquivo não aparece em public/submissions/ diretório. Eu verifiquei as permissões no diretório de envios.

o que estou perdendo?

Muito obrigado

Foi útil?

Solução

você já tentou o : Partição opção. Ele obtém a partição de arquivos em diretórios como /0000/0001/image.jpg. o predefinição valor é verdadeiro. Faça falso. Eu não tentei .. mas acho que você perdeu esta opção ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top