405 Error al intentar publicar un archivo en rieles
Estoy usando paperclip gem para subir un archivo a la base de datos. Cuando selecciono el archivo que quiero cargar y voy a crearlo, la página siguiente debe redirigir_a la ruta raíz. En cambio, obtengo "Método no permitido" en mi navegador. Abro Dev Tools y la consola dice: Error al cargar el recurso: el servidor respondió con un estado de 405 (Método no permitido) Mis registros se ven así:
Started POST "/assets" for ::1 at 2015-08-20 10:41:11 -0400
y permanece enganchado hasta que regrese a otra página.
Aquí está mi controlador
class AssetsController < ApplicationController
# before_filter :authenticate_user!
def index
@assets = current_user.assets
end
def show
@asset = current_user.assets.find(params[:id])
end
def new
@asset = current_user.assets.build
end
def create
@asset = current_user.assets.build(asset_params)
if @asset.save
flash[:success] = "The file was uploaded!"
redirect_to root_path
else
render 'new'
end
end
def edit
@asset = current_user.assets.find(params[:id])
end
def update
@asset = current_user.assets.find(params[:id])
end
def destroy
@asset = current_user.assets.find(params[:id])
end
private
def asset_params
params.require(:asset).permit(:uploaded_file)
end
end
Aquí está mi modelo:
class Asset < ActiveRecord::Base
belongs_to :user
has_attached_file :uploaded_file
validates_attachment_presence :uploaded_file
validates_attachment_size :uploaded_file, less_than: 10.megabytes
end
Y estoy usando la gema simple_form para enviar el archivo:
<%= simple_form_for @asset, :html => {:multipart => true} do |f| %>
<% if @asset.errors.any? %>
<ul>
<% @asset.errors.full_messages.each do |msg|%>
<li><%= msg %></li>
</ul>
<% end %>
<% end %>
<p>
<%= f.input :uploaded_file %>
</p>
<p>
<%= f.button :submit, class: "btn btn-primary" %>
</p>
<% end %>
El error 405 indica que estoy haciendo una solicitud no admitida por el modelo de activo. Tengo recursos: activos en mi archivo de rutas de configuración y cuando ejecuto rutas de rastrillo, todas mis rutas RESTful están allí.
Agradecería cualquier ayuda en este caso.