我有一个表单,我想出现在每个页面的顶部,所以我已经将它包含在 /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 还是很陌生。
让我知道您是否需要发布其他任何内容。
编辑 按照 Ola 的建议,在我的 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 中http://localhost:3000/admin/index
寻找content_foradd_user