Error, Ruby on Rails: Encoding:: UndefinedConversionError en CoursesController#attachment "/ xFF" de ASCII-8BIT a UTF-8
ruby-on-rails ruby-on-rails-3 (1)
Intente abrir el archivo en modo binario ( ''wb''
lugar de ''w''
):
...
File.open(Rails.root.join(''public'', ''upload'', uploaded_io.original_filename), ''wb'') do |file|
file.write(uploaded_io.read)
end
Me gustaría hacer un cargador de archivos simple utilizando tag_form en Rails 3.2.8.
Pero cuando intento enviar un archivo de imagen, aparece un error que dice
Mensaje de error (cuando intento enviar un archivo de imagen)
Encoding :: UndefinedConversionError en CoursesController # attachment
"/ xFF" de ASCII-8BIT a UTF-8
Te agradecería si me ayudas con este problema.
Aquí están mis códigos.
app / view / show.html.erb
<%= form_tag(attachment_course_path, :action=>''attachment'', :multipart => true) do %>
<div class="field">
<%= label_tag :file %>
<%= file_field_tag :file %>
</div>
<div class="actions">
<%= submit_tag ''Submit'' %>
</div>
<% end %>
app / controller / courses_controller.rb
def attachment
t = Time.now.strftime("%Y%m%d%H%M%S")
uploaded_io = params[:file]
File.open(Rails.root.join(''public'', ''upload'', uploaded_io.original_filename), ''w'') do |file|
file.write(uploaded_io.read)
end
end
config / route.rb
resources :courses, :only => [ :show ] do
member do
post :attachment
end
end