Html 单击获取未定义的方法“model#u name';班级:班级
我不熟悉rails。我正在尝试创建一个包含姓名、电子邮件、电话号码和消息字段的表单。当我点击链接到表单的按钮时,我得到一个错误: NilClass:Class的未定义方法“model_name” 以下是_form.html.erb页面的代码:Html 单击获取未定义的方法“model#u name';班级:班级,html,ruby-on-rails,erb,Html,Ruby On Rails,Erb,我不熟悉rails。我正在尝试创建一个包含姓名、电子邮件、电话号码和消息字段的表单。当我点击链接到表单的按钮时,我得到一个错误: NilClass:Class的未定义方法“model_name” 以下是_form.html.erb页面的代码: <%= form_for(@contact) do |f| %> <% if @contact.errors.any? %> <div id="error_explanation"> <h2
<%= form_for(@contact) do |f| %>
<% if @contact.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@contact.errors.count, "error") %> prohibited this contact from being saved:</h2>
<ul>
<% @contact.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="col-md-4">
<div class="form-group">
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, :class=>"form-control", :placeholder=>"Enter Your Name" %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email, :class=>"form-control", :placeholder=>"Enter Your Email"%>
</div>
<div class="field">
<%= f.label :phone %><br />
<%= f.text_field :phone, :class=>"form-control", :placeholder=>"Enter Your Phone Number"%>
</div>
</div>
</div>
<div class = "col-md-8">
<div class="form-group">
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description, :class=>"form-control", :size=>"20x5", :placeholder=>"Enter Your Message"%>
</div>
</div>
</div>
<div class="actions">
<%= f.submit "Submit", :class=> "button1"%>
</div>
<% end %>
禁止保存此联系人:
“表单控件”,:占位符=>“输入您的姓名”%>
“表单控件”,:占位符=>“输入您的电子邮件”%>
“表单控件”,:占位符=>“输入您的电话号码”%>
“表单控件”、:size=>“20x5”、:placeholder=>“输入您的消息”%>
“按钮1”%>
这是联系人的代码。\u controller.rb是:
class ContactsController < ApplicationController
# GET /contacts/new
# GET /contacts/new.xml
def new
@contact = Contact.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @contact }
end
end
# POST /contacts
# POST /contacts.xml
def create
@contact = Contact.new(params[:contact])
respond_to do |format|
if @contact.save
format.html { redirect_to(root_path, :notice => 'Thank you for contacting us. We will get back to you shortly.') }
format.xml { render :xml => @contact, :status => :created, :location => @contact }
else
format.html { render :action => "new" }
format.xml { render :xml => @contact.errors, :status => :unprocessable_entity }
end
end
end
end
class contacts控制器@contact}
结束
结束
#职位/联系人
#POST/contacts.xml
def创建
@联系人=联系人。新建(参数[:联系人])
回应待办事项|格式|
如果@contact.save
format.html{redirect_to(root_path,:notice=>“感谢您与我们联系。我们将很快与您联系。”)
format.xml{render:xml=>@contact,:status=>:created,:location=>@contact}
其他的
format.html{render:action=>“new”}
format.xml{render:xml=>@contact.errors,:status=>:unprocessable_entity}
结束
结束
结束
结束
此外,我还在routes.rb
文件中添加了resources:contacts
请帮助我理解这里的问题是什么。
谢谢。请将
路由.rb修改为:
使用
而不是
resources: contacts
请将routes.rb
修改为:
使用
而不是
resources: contacts
您正在分部中调用@contact
——它应该是一个本地变量,在调用分部时定义:
<%= render partial: "form", locals: { contact: @contact } %>
。。。然后
#_form.html.erb
<%= form_for contact do ...
#_form.html.erb
您正在分部中调用@contact
——它应该是一个本地变量,在调用分部时定义:
<%= render partial: "form", locals: { contact: @contact } %>
。。。然后
#_form.html.erb
<%= form_for contact do ...
#_form.html.erb
你能复制并把错误堆栈放在这里吗?我希望你也定义了一个Model contact.rb,只是确认一下?是的,我已经定义了Model contact.rb以及完整的错误@Harrybomrahe这里是modelclass Contact
是否可以复制并将错误堆栈放在这里。我希望您也定义了model Contact.rb,只是确认一下?是的,我已经定义了model Contact.rb以及完整的错误@Harrybomrah这是一个模型类联系人
谢谢,我只在代码中有这样的方式。只是我这边的一个打字错误。谢谢,我只有在代码上有这样的错误。只是我这边的打字错误。