0

このRails アプリを複製して微調整しましたが、ajax リクエスト時にパーシャルをレンダリングする際に問題が発生しました。ログで、有罪の行が registrations_controller.rb (Devise)

class RegistrationsController < Devise::RegistrationsController

  def create
    build_resource

    if resource.save
      if resource.active_for_authentication?
        sign_in(resource_name, resource)
        (render(:partial => 'thankyou', :layout => false) && return)  if request.xhr?
        respond_with resource, :location => after_sign_up_path_for(resource)
      else
        resource.update_attribute(:encrypted_password, nil) # make sure there is no password
        expire_session_data_after_sign_in!
        (render(:partial => 'thankyou', :layout => false) && return)  if request.xhr?
        respond_with resource, :location => after_inactive_sign_up_path_for(resource)
      end
    else
      clean_up_passwords resource
      render :partial => 'email_capture', :action => :new, :layout => !request.xhr?**
    end
  end

  protected

  def after_inactive_sign_up_path_for(resource)
    '/thankyou.html'
  end

  def after_sign_up_path_for(resource)
    redirect_to root_path
  end

end

返されるエラー メッセージは次のとおりです。

ActionView::MissingTemplate - 部分的な欠落

{:locale=>[:en]、:formats=>[:html]、:handlers=>[:erb、:builder、:coffee、:haml]}。検索場所: * "/Users/Davide/Documents/Jobsite/rails-prelaunch-signup-1click/app/views" * "/Users/Davide/.rbenv/versions/1.9.3-p194/lib/ruby/gems/ 1.9.1/gems/devise_invitable-1.1.8/app/views" * "/Users/Davide/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/devise-2.2. 4/アプリ/ビュー」

興味深いことに、:layout => !=request.xhr? を削除すると、パーシャルは見つかりますが、ページが更新され、すべてのスタイルシートとその他のアセットが失われます。

どこから見始めればいいですか?

ありがとう!

4

1 に答える 1