すべてのページの上部に表示したいフォームがあるので、それを/app/views/layouts/application.html.erbファイルに含めましたが、試行するとundefined method
NilClass:Class`のエラーmodel_name'が表示されます。ページをロードします。
これがapplication.html.erbのフォームスニペットです
<%= form_for @user do |f| %>
<h3>Add new contact</h3>
<%= f.text_field :first_name %><br />
<%= f.text_field :last_name %>
<%= f.text_field :email %>
<hr />
<%= f.submit "Add Contact" %>
<% end %>
これが私の/app/controllers/user_controller.rbです
class UserController < ApplicationController
def index
end
def new
@user = User.new
end
end
フォームがapplication.html.erbファイルにあるため、どういうわけかパスを指定する必要があるため、このエラーが発生していると思いますが、これもRailsに慣れていないためです。
他に投稿が必要な場合はお知らせください。
編集 オラの提案に従って、私のapp / views / layouts/application.html.erbファイルに次のようなものがあります。
<div>
<%= yield :add_user %>
</div>
そして私のapp/views / users/new.html.erbファイルにこれがあります
<% content_for :add_user do %>
<%= form_for @user do |f| %>
<h3>Add new contact</h3>
First Name<br />
<%= f.text_field :first_name %><br />
Last Name<br />
<%= f.text_field :last_name %><br />
Email<br />
<%= f.text_field :email %>
<hr />
<%= f.submit "Add Contact" %>
<% end %>
<% end %>
私のURLはレンダリングされているため、フォームはレンダリングされません。そのため、app / views / admin/index.html.erbでcontent_forを検索しhttp://localhost:3000/admin/index
ています。add_user