我正在尝试在Rails应用程序中的单击事件上呈现页面。
在我的页面中,我呈现的部分内容如<%= render "form" %>
我的表单部分位于contacts/_form.html.erb
。
在我的_form.html.erb
我有表单字段。
但我没有得到呈现的表格。
这是我得到的错误
缺少部分页面/表单{:handlers =&gt; [:erb,:rjs,:builder,:rhtml,:rxml],:formats =&gt; [:html],:locale =&gt; [:en ,:en]}在视图路径&#34; / home / ubuntu / workspace / app / views&#34;
下面是我的_form.html.erb
<%= 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 %>
我做错了什么?
答案 0 :(得分:0)
您必须使用erb
范围内的pages_controller
文件来调用您的部分内容,这就是为什么它会尝试在{{1}下找到您的_form
部分目录。
您需要为views/pages
提供正确的路径:
_form
修改强>
现在您面临<%= render "contacts/form" %>
错误。这意味着,model_name' for NilClass:Class
的第一行@contact
为_form
。您尚未初始化nil
。请尝试以下方法:
@contact
答案 1 :(得分:0)
缺少部分页面/表单{:handlers =&gt; [:erb,:rjs,:builder, :rhtml,:rxml],:formats =&gt; [:html],:locale =&gt; [:en,:en]}在视图路径中 “/家/ ubuntu的/工作区/应用/视图”
由于您的表单位于 联系人 文件夹下,并且您尝试在 页面 中呈现该表单,因此您需要添加部分的位置。
<%= render "contacts/form" %>