控制器:
class ProfilesController < ApplicationController
def show
end
end
当控制器响应显示操作为JS时,show.js.erb
包含以下内容:
$('#main-content').html('<%= j( render( template: "profiles/show.html.erb" ) ) %>');
问题是I18n.t的范围在尝试获取密钥时搞砸了:
ActionView::Template::Error (translation missing: en.profiles.show.html.erb.followers)
。
如果我没有指定.html.erb
部分,它会尝试渲染show.js.erb
,这会发生无限循环,所以我必须提供html格式。
我该怎么办?
答案 0 :(得分:0)
将profiles / show.html.erb的主要部分提取为部分:
简档/ _show.html.erb
然后呈现为:
$('#main-content').html('<%= j raw render "profiles/show" %>')
你也可以用同样的方式呈现你的个人资料/ show.html.erb
<%= render 'show' %> <%# renders the partial %>