erb中出现未定义的方法错误,但不是haml

时间:2010-03-09 15:51:28

标签: ruby-on-rails haml erb

我想做的就是将haml文件转换为erb。这样做之后,我明白了 未定义的方法`render_sequence_nav'错误消息。即使没有 以haml格式发生此类错误。在haml文件中,有这一行:

    #fields << render_sequence_nav(sequence_info, students_path)
    fields << render(:partial => "resources_partials/sequence/nav", :locals => sequence_info.merge({:cancel_url => {:controller => :dashboard}}))

  = render_form { fields }

如果我从#fields中删除#,它将返回haml中未定义的方法render_sequence_nav。显然这是必要的。但是,我无法在erb中重新创建它。如果我添加哈希,它会使行变灰:

   <% #fields << render_sequence_nav(sequence_info,
  students_path) %>
    <% fields << render(:partial =>
 "resources_partials/sequence/nav", :locals =>
 sequence_info.merge({:cancel_url => {:controller => :dashboard}})) %>
  <%= render_form { fields } %>
  <% end %>

有关如何解决此问题的任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

你的问题有点令人困惑,因为你声明在为视图使用Haml时没有发生错误,但在第二段你写的是如果你取消注释fields行你会使用Haml得到错误。

Rails正在寻找名为render_sequence_nav的视图辅助方法。这应该位于app/helpers/application_helper.rb或与该视图的控制器对应的任何助手。