5

私はポリモーフィックReviewモデルを持っています。名前空間モデルUser::Library::Publicationはレビュー可能です。レビューは適切に作成されていますが、部分的に表示しようとすると、Rails が間違ったディレクトリを検索します。

私からしてみれば:

<%= render @review %>

次のエラーが表示されます。

Missing partial user/library/reviews/review with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder]}

views/user/libraryRails は、.ではなく、名前空間のディレクトリ内でレビュー パーシャルを探しているよう/views/reviewsです。なぜこれが起こっているのですか?

4

2 に答える 2

5

prefix_partial_path_with_controller_namespace部分的なテンプレート パスから名前空間を削除する場合は、次の変数を設定できますconfig/application.rb

# config/application.rb
config.action_view.prefix_partial_path_with_controller_namespace = false

これにより、定義したとおりに部分パスが読み込まれます (名前空間なし)。

元のプル リクエストはこちらで確認できます。

于 2016-10-25T12:36:46.367 に答える
0

名前空間を使用する場合は、フォルダー/サブフォルダーを作成して、Rails が間違った場所を参照しないようにする必要があります。

部分パスを強制する場合は、次を使用します。

render :partial => "review"

そして、review.html.erbファイルの名前を変更して作成します_review.html.erb

于 2013-04-08T17:45:39.947 に答える