0

コントローラー アクションをレンダリングしようとすると問題が発生します。ドキュメントに従って、使用できるはずです:

render 'user/new' or
render template: 'user/new' or
render :action => "new", :controller => "users"

テンプレートが見つからないという例外が発生しましたが、よくわかりませんが、なぜですか。フォームを使用することはできますが、まったく同じフォームをコピーするのはばかげています。

私はかなり混乱しているので、何かが欠けていますが、わかりません。ヒントはありますか?

編集: 新しいユーザー フォームをレンダリングする GroupsController から呼び出しています。足場モデルのみでテストを行ったところ、同じエラーが発生しました。

ActionView::Template::Error (
Missing partial users/new with {:locale=>[:de], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/Users/rob/Development/projects/test/app/views"
* "/Users/rob/.rvm/gems/ruby-1.9.3-p362/gems/oembed_provider_engine-0.2.0/app/views"
* "/Users/rob/.rvm/gems/ruby-1.9.3-p362/gems/devise-2.2.3/app/views"
):
4

1 に答える 1

0

部分テンプレートのファイル名は常にアンダースコアで始まります。したがって、レンダリングするには、「user」ビューに「_new.html.erb」ファイルが必要です。

私が間違っていなければ、デフォルトのスキャフォールディングはモデルごとに「_form.html.erb」を作成して、新しいアクションと編集アクションの両方でレンダリングします。「新しい」ビュー全体ではなく、それをレンダリングするだけです。

于 2013-03-05T09:41:49.987 に答える