8

Tengo una aplicación que funciona muy bien en modo de desarrollo. En un intento de probar en producción en Webrick o Passenger/apache, la mayor parte de mi sitio se carga bien hasta que intento enviar un formulario ajax. He utilizado correctamente bundle install --deployment. He precompilado correctamente mis activos. Pero por alguna razón, recibo el siguiente error al enviar formularios remotos. Tenga en cuenta que el ajax está funcionando, ya que está creando registros en la base de datos. Una cosa que me parece interesante es que estoy usando un gemset con ruby ​​1.9.3 pero estoy obteniendo referencias a ruby ​​1.9.1 en estos códigos de error. También incluyo el controlador de usuarios para que pueda ver las referencias del controlador. ¡Ayuda!carriles 3.2 ActionView MissingTemplate solo en producción

Actualización !! Dependiendo de qué acción, ya sea la acción de crear, editar acción de actualización de la acción o destruir el error, falta la plantilla usuarios/crear o usuarios/actualizar o usuarios/editar usuarios/destruir etc. Leer comentario en la primera respuesta ya que creo que esto es un problema con los archivos javascript que no están incluidos en el proceso de precompilación.

Started GET "https://stackoverflow.com/users/5" for 24.163.20.124 at 2012-02-07 03:30:09 -0500 
Processing by UsersController#show as HTML 
    Parameters: {"id"=>"5"} 
Completed 500 Internal Server Error in 58ms 

ActionView::MissingTemplate (Missing template users/show, application/show with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]}. Searched in: 
* "/home/ctilley/Development/RatatouilleCatering/app/views" 
* "/home/ctilley/Development/RatatouilleCatering/vendor/bundle/ruby/1.9.1/gems/wash_out-0.3.1/app/views" 
* "/home/ctilley/Development/RatatouilleCatering/vendor/bundle/ruby/1.9.1/gems/ckeditor-3.7.0.rc2/app/views" 
): 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/path_set.rb:58:in `find' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/lookup_context.rb:109:in `find' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/renderer/abstract_renderer.rb:3:in `find_template' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/renderer/template_renderer.rb:28:in `determine_template' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/renderer/template_renderer.rb:10:in `render' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/renderer/renderer.rb:36:in `render_template' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_view/renderer/renderer.rb:17:in `render' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/abstract_controller/rendering.rb:109:in `_render_template' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_controller/metal/streaming.rb:225:in `_render_template' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/abstract_controller/rendering.rb:103:in `render_to_body' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_controller/metal/renderers.rb:28:in `render_to_body' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_controller/metal/compatibility.rb:50:in `render_to_body' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/abstract_controller/rendering.rb:88:in `render' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_controller/metal/rendering.rb:16:in `render' 
vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.0/lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render' 
vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/core_ext/benchmark.rb:5:in `block in ms' 

controladores/users_controller.rb

class UsersController < ApplicationController 

    before_filter :require_user 
    respond_to :html, :js 
    load_and_authorize_resource 
def index 
    @users = User.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 10, :page=>params[:page]) 

    authorize! :read, @article 
end 

def show 
end 

def create 
    @user = User.new(params[:user]) 

    if @user.save 
    respond_with @user, :location => users_url 
    end 
end 

def destroy 
    @user = User.find(params[:id]) 
    @user.destroy 

    respond_with @user, :location => users_url 
end 

def edit 
    @user = User.find(params[:id]) 
    respond_with @user, :location => users_url 
end 

def update 
    @user = User.find(params[:id]) 
    @user.update_attributes(params[:user]) 

    respond_with @user, :location => users_url 
end 
private 
def sort_column 
    params[:sort] || "id" 
end 
def sort_direction 
    params[:direction] || "asc" 
end 

end 

Respuesta

16

mover el siguiente fuera del grupo de activos en su Gemfile

gem 'coffee-rails', "~> 3.2.1" 
gem 'uglifier', ">= 1.0.3" 
+0

Me salvaste el día. – methyl

+0

Muchas gracias por esta respuesta. Estaba perplejo. –

+2

¿Cuál es la explicación para esto? – Lyudmil

0
ActionView::MissingTemplate (Missing template users/show...) 

Esto significa que las aplicaciones archivo de vista/usuarios/show.html.erb no se encuentra. Cree un archivo ficticio aquí y vea si esto resuelve el problema.

+0

No parece ser el caso. La declaración de respuesta_con fuerza estas acciones en el índice. Todo esto funciona muy bien en el modo de desarrollo como se indicó anteriormente. Editar, actualizar, crear son formularios remotos que llaman al índice correspondiente.js.coffee create.js.coffee update.js.coffee y destroy.js.coffee. Estos residen en la carpeta de visualización para ese controlador en particular. Lo que estoy pensando es que estos archivos javascript no se están compilando durante el proceso de precompilación. Por lo tanto, los registros se publican, pero el javascript no se ejecuta. Necesito encontrar una forma de agregar estos archivos a la ruta de recursos/precompilación. – ctilley79

Cuestiones relacionadas