Rails部分未呈现

Rails partials not rendering

本文关键字:Rails      更新时间:2023-09-26

我写了一些部分,但它们似乎没有呈现出来。其他一些报道过同样问题的海报犯了使用<%…%>的错误用于嵌入的ruby代码,而不是<%=…%>。我没有犯那个错误,所以我不确定为什么我的部分没有渲染。也许有人会在我的代码中看到我缺少的东西。我不确定它是否相关。。。但是对render:partial的调用发生在formtag中。此外,@teachers是在registration_two控制器操作中定义和填充的Teacher对象的数组。

以下是我的视图static_pages/registration_two.html.erb 的代码摘录

<div id="teachers"> 
<%= render :partial => 'teacher', :collection => @teachers %>
</div>
<%= link_to_function "Add Instructor" do |page|
page.insert_html :bottom, :teachers, :partial => 'teacher', :object => Teacher.new
end %>

这是我的部分静态页面/tacher.html.erb

<div class="teacher">
<% fields_for teacher do |teacher_field| %>
  <p>
    Instructor Name: <%= teacher_field.text_field :name %>

    Email: <%= teacher_field.text_field :email %>
    <%= link_to_function "remove", "$(this).up('.teacher').remove()" %>
  </p>
<% end %>
</div>

现在唯一显示的是"添加讲师"按钮,它什么都不做。

我本质上是在模仿Ryan Bates的动态表单提交方法。http://railscasts.com/episodes/74-complex-forms-part-2

<%= fields_for 替换<% fields_for

旁注,你可以简单地使用:

<%= render @teachers %>