当模型接受嵌套属性时,视图的适当语法是什么?

时间:2012-03-30 22:23:10

标签: ruby-on-rails erb

我正在开展一个项目,搜寻与之相关的任务列表。我有一个hunts模型,它接受任务模型的嵌套属性。但我的意见不能正常工作。这是我的观点/ hunts.html.erb的样子:

    <h1>New Hunt</h1>

    <%= form_for(@hunt) do |f| %>       
      <%= render 'fields', :f => f %>
        <%= f.fields_for :tasks do |builder| %>
        <%= render "task_fields", :f => builder %>
        <% end %>
      <div class="actions">
        <%= f.submit "Add hunt" %>
      </div>
    <% end %>

不幸的是,这不起作用。 Rails认为tasks_fields位于搜索视图中。这是我收到的错误消息。

ActionView::MissingTemplate in Hunts#new
Showing /****/app/views/hunts/new.html.erb where line #9 raised:
Missing partial hunts/task_fields, application/task_fields with {:handlers=>[:erb,   :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
 *****/app/views"

如何告诉rails查看views / tasks而不是views / hunts?

1 个答案:

答案 0 :(得分:0)

只需使用其他文件夹的名称,例如

<%= render "tasks/task_fields", :f => builder %>

将呈现tasks / _task_fields.html.erb