1

さまざまなコントローラアクションが実行されたときに呼び出されるjs.coffeeファイルが多数あるビューフォルダがあります。リモートフォームが送信され、コントローラ内でrespond_with行によってトリガーされたときに呼び出されます。私は例としてcreateメソッドを与えています。これはすべて、開発モードで完璧に機能することに注意することが重要です。生産では、私は、私は自分の資産をプリコンパイルしてきたことを確認したバンドルの記録が保存された後Rails 3.1 respond_withは本番では機能しません

users_controller.rb

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

    if @user.save 
    respond_with @user, :location => users_url #This line is throwing the error in production 
    end 
end 

次のjQueryを実行すべき--deploymentなどインストールして走ってきました開発モードでは完全にそうです。ただし、以下のファイルが

create.js.coffee

$('#errors').empty() 
$('#errors').show() 
<% if @user.errors.any? %> 
    $('<%= escape_javascript(render :partial => "errors", :locals => {:target => @user })%>') 
    .appendTo('#errors') 
<% else %> 
    $('<%= escape_javascript(render(:partial => @user))%>') 
    .appendTo('#user_table') 
    .hide() 
    .fadeIn(200) 
    $('#errors').hide() 
    $('#new_user')[0].reset() 
    $('#users_count').html '<%= users_count %>' 
<% end %> 
$('#error_close').click -> 
$('#errors').fadeOut() 

を実行されることはありません。これは、生産にスローされるエラーで、レコードが作成されることに注意することが重要です。

ActionView::MissingTemplate (Missing template users/create, application/create with {:locale=>[:en], :formats=>[:js, :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" 
): 
app/controllers/users_controller.rb:19:in `create' 

答えて

0

私はそれを最終的に考え出しました。 :assetsグループからcoffee-railsとuglifierを取り出し、問題を修正します。