Как загрузить файл в рельсы? - PullRequest
3 голосов
/ 14 октября 2010

Я новичок в рельсах. Я хочу знать о процессе загрузки файлов в рельсы. Кто-нибудь может мне помочь, пожалуйста... Спасибо, Althaf

Ответы [ 2 ]

6 голосов
/ 14 октября 2010

Обычно гемы / плагины используются для обработки загрузки файлов. Мой любимый, и, возможно, самый вездесущий - Скрепка .

По вашему мнению, вам нужно сообщить помощникам по рельсам, что вы загружаете файл, подобный следующему:

<%= form_for @model, :html => { :multipart => true } do |form| %>
1 голос
/ 11 февраля 2016

Вот метод загрузки файла без использования каких-либо драгоценных камней и только с использованием rails,

Решение: =>

    def create
        @photo = Photo.new(photo_params)
        uploaded_io = params[:photo][:photo]
        File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
           file.write(uploaded_io.read)
         end
        if @photo.save
          flash[:success] = "The photo was added!"
          redirect_to root_path
        else
          render 'new'
        end
      end


def upload
  uploaded_io = params[:person][:picture]
 File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
    file.write(uploaded_io.read)
  end
end

И ваш form.html.erb в представлениях должен содержать это, это очень просто,

 <%= form_for @photo do |f| %>
      <%= f.file_field :photo %>
      <div class="actions">
        <%= f.submit "Upload" %>
      </div>
    <% end %>

и, наконец, модель должна иметь,

  has_attached_file :image

##############################################. #### Теперь вы можете загружать любой файл.

Спасибо. Веселись с рельсами.

Use <video_tag> for viewing video files.
Use <audio_tag> for viewing audio files.
Use <object>"link"</object> for viewing PDF or DOC files.
...