Я новичок в рельсах. Я хочу узнать о процессе загрузки файлов в rails. Может ли кто-нибудь помочь мне ... Спасибо, AlthafКак загрузить файл в рельсы?
ответ
Обычно gems/plugins используются для обработки загрузки файлов. Мой любимый, и, возможно, самый вездесущий - Paperclip.
По вашему мнению, вы должны сказать рельсы образуют хелперы, которые вы загружаете файл, как это:
<%= form_for @model, :html => { :multipart => true } do |form| %>
=> Спасибо за ваш ответ. Я хотел знать код загрузки, который должен быть записан в контроллере и в модели (если необходимо). Я знаком с частью просмотра для загрузки файлов –
@ user475748 dude u не нужно писать какие-либо специальные строки кода для загрузки файла. Плагин Paperclip имеет эти строки кода. Просто следуйте блогу, указанному в моем ответе, и проверьте, что 5 минут railscast. –
@ user475748: следуйте инструкциям для драгоценного камня Paperclip. Он обрабатывает внутренние детали загрузки файлов, позволяя вам просто указывать значения конфигурации и позволять им делать все остальное :) – Matchu
Вот метод о том, как загрузить файл без использования какой-либо драгоценный камень, и только с помощью рельсов,
Решение: =>
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.
Заканчивать Рубин на Rails Guides (http://guides.rubyonrails.org/form_helpers.html#uploading-files) или Google "Рельсы загрузки файлов" или "рельсы файл для загрузки плагинов", чтобы узнать больше. Было бы лучше сначала сделать это исследование, а затем вернуться сюда, чтобы задать более конкретные вопросы о деталях, о которых вам нужно знать больше. – Jeff
Или просто найдите Stackoverflow для других вопросов по этой теме («загрузка файлов rails»). Я считаю, что вы, должно быть, видели, как эти вопросы появляются, когда вы печатали свои слова. – Matt