Rails 3.2 ActionView MissingTemplate только в производстве - PullRequest
8 голосов
/ 07 февраля 2012

У меня есть приложение, которое прекрасно работает в режиме разработки. При попытке протестировать в рабочем режиме в Webrick или Passenger / apache большая часть моего сайта загружается хорошо, пока я не попытаюсь отправить форму ajax. Я правильно использовал комплект установки --deployment. Я правильно скомпилировал свои активы. Но по какой-то причине я получаю следующую ошибку при отправке удаленных форм. Имейте в виду, что AJAX фактически работает, поскольку он создает записи в базе данных. Одна вещь, которая мне кажется интересной, это то, что я использую набор гемов с ruby ​​1.9.3, но я получаю ссылки на ruby ​​1.9.1 в этих кодах ошибок. Я также включил контроллер Users, чтобы вы могли видеть ссылки на контроллеры. Помогите!

Обновление !! В зависимости от того, какое действие, будь то действие создания, редактировать действие обновления или уничтожить ошибку, отсутствует шаблон пользователей / создание или пользователи / обновление или пользователи / редактирование пользователей / удаление и т. Д. Прочтите комментарий к первому ответу, так как я считаю, что это проблема с файлами javascript, не включенными в процесс прекомпиляции.

Started GET "/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'

Контроллеры / 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

Ответы [ 2 ]

16 голосов
/ 28 февраля 2012

переместите следующее за пределы группы активов в вашем Gemfile

gem 'coffee-rails', "~> 3.2.1"
gem 'uglifier', ">= 1.0.3"
0 голосов
/ 08 февраля 2012
ActionView::MissingTemplate (Missing template users/show...)

Это означает, что файл вида app / users / show.html.erb отсутствует.Создайте здесь фиктивный файл и посмотрите, решит ли это проблему.

...