4

デフォルトのデバイス編集登録ビューをモーダルでレンダリングしようとしています。モーダルは別のコントローラーから呼び出されています。この場合は Home_controller です。

モーダルタグに <%= render :template, 'devise/registrations/edit' %> があり、モーダルの起動ボタンがクリックされたときに呼び出されますが、レールはデバイスのリソースの使用に関して未定義の変数メソッドです. リソースが単なるユーザーオブジェクトであることは知っていますが、ホームコントローラーはこれを解決する方法を知りません。レンダーテンプレートメソッドがこれを解決し、レールがデバイス登録コントローラーを使用できると思いました。

何か案は?将来の機能を簡素化するために、デフォルトのデバイスコントローラーを維持することを本当に望んでいますか? 1 つのコントローラーで別のコントローラーからビューを呼び出す方法は、呼び出されたコントローラーですべてのアクションを使用できるようにする方法です。

4

1 に答える 1

9

これを application_helper.rb に追加してみてください ( The Devise Wikiから)

  def resource_name
    :user
  end

  def resource
    @resource ||= User.new
  end

  def devise_mapping
    @devise_mapping ||= Devise.mappings[:user]
  end
于 2012-05-05T17:18:21.720 に答える