1

Rails 3.2.8 アプリで renamery_cms使用しました。正しく構成されており、正常に動作しています。しかし、今はすべてのデバイス ビューとコントローラーを明示的に実装したいと考えています。

そのために、この記事に従いました

http://sdownie.com/blogs/integrating-refinery-rails-3-2-into-your-existing-rails-app

上記の記事に記載されているすべての構成を行った後、次のエラーが発生し、根本的な原因を追跡するのが困難です。

これはエラーです:

undefined method `refinery' for #<#<Class:0xcdec518>:0xcdd4fd0>

上記のエラーは、routes.rb から次の行を削除すると発生します。

mount Refinery::Core::Engine, :at => '/'

しかし、上記の行を保持してページhttp://localhost:3000/user/sign_upにアクセスすると、次のエラーが発生します。

undefined method `user_registration_path' for # <ActionDispatch::Routing::RoutesProxy:0xe189634>

これに関するアイデアは本当に役に立ちます

4

2 に答える 2

0

Refinery を既存の通常のアプリに統合するのではなく、既存の Refinery アプリにいくつかのコントローラーとビューを追加しようとしているようです。この場合、いくつかの可能性があります。

  • ガイドによると、デコレータを作成して既存のデバイス コントローラに新しい機能を追加します(Refinery が Devise gem にも依存していることはご存知だと思います)。
  • このRailscastまたはRails 3のエンジンに関連するその他のソースで説明されている、他のすべての機能をマウント可能なエンジンとして作成します。
于 2012-11-22T21:34:09.820 に答える
0

こんにちは皆さん、これは従来の問題の解決策であり、以下の手順に従ってください。

(1)rake generate devise:views

(2)append "user" before helper urls for example if there is a helper url used in rails   forms

**new_registration_path** then update it as **new_user_registration_path** 

 Similarly whenever you get the same error then go to app/views/devise/ respective     template and check the url used there where error comes and update it as we updated above.

これがすべて理にかなっていることを願っています。

ありがとう。

于 2013-01-30T12:54:01.470 に答える