我目前正在使用具有以下功能的网站上工作: 用户(雇主)可以发布职位列表。有兴趣的用户可以点击工作列表,这会将他们带到申请页面。在这里,他们必须通过文件上传上传他们的简历,然后点击发送。简历现在发送给雇主的电子邮件。 所以我得到它的工作,电子邮件发送给列表用户。我也知道如何发送自己的附件。 然而,我无法让用户上传自己的简历。现在我想让它们保存在本地,而不是使用像S3这样的不同存储。
这是我的代码
listings_controller.rb
def send_resume_email
@listing = Listing.find(params[:id])
@user = User.find_by_id(params[:id])
UserMailer.new_resume(@user, @listing).deliver
redirect_to findjobs_path, notice: 'Message sent'
end
user_mailer.rb
def new_resume(user, listing)
@listing = listing
@user = user
attachments['header.png'] = File.read("#{Rails.root}/app/assets/images/header.png", mode: "rb")
@url = 'http://www.example.com'
mail(to: listing.user.email, subject: 'Thanks for the awesome site')
end
apply.html.erb
<div class="top">
<div class="container-content">
<div class="container">
<%= form_tag(listing_send_resume_email_path, :html => { :multipart => true}) do %>
<%= file_field_tag :file %>
<%= submit_tag nil, class: 'btn btn-default btn-about pull-right' %>
<% end %>
</div>
</div>
</div>
答案 0 :(得分:1)
要上传文件,您可以使用
1.Paperclip gem https://github.com/thoughtbot/paperclip
或
2.Carrierwave gem https://github.com/carrierwaveuploader/carrierwave
他们都支持S3
有一个很好的使用carrierwave的截屏视频可能有助于http://railscasts.com/episodes/253-carrierwave-file-uploads