【发布时间】:2017-07-19 21:55:53
【问题描述】:
我正在尝试使用 rails 中的局部渲染元素集合。我找到了 3 种可行的方法,但并非所有方法都适用于同一个 html 文档。 这些是我发现有效的方法,但我不明白为什么有些文件在某些文件中有效,而有些则无效。
<%= j render @event_messages %>
<%= render @event_messages%>
<%= render partial: 'event_message', collection: @event_messages%>
假设我有 html 文件 index.html.erb 和部分 _event_message.html.erb。现在我将介绍 3 种方法:
<%= render partial: 'event_message', collection: @event_messages%> 在这种情况下,这条线完美地工作,并且部分被渲染了尽可能多的次数。
<%= render @event_messages%> 抛出缺少模板的错误,但在其他 .html.erb 文件中,我可以使用它毫无问题地渲染部分。
<%= j render @event_messages %> 在 .js.erb 文件中工作,但“j”代表什么?我将这种方法与 ajax 回调一起使用,在某些情况下它可以工作,但对于其他情况,我会收到缺少模板的错误。
Missing partial event_messages/_event_message with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in:
我已尽力描述问题。如果您需要更多信息,请告诉我。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-5