Ruby on rails 如何将多个部分模板合并到一个文件中?
我正在使用RubyonRails3创建我的web应用程序。 我不想为每个微小的部分模板创建一个模板文件,所以我尝试使用Ruby on rails 如何将多个部分模板合并到一个文件中?,ruby-on-rails,ruby-on-rails-3,erb,Ruby On Rails,Ruby On Rails 3,Erb,我正在使用RubyonRails3创建我的web应用程序。 我不想为每个微小的部分模板创建一个模板文件,所以我尝试使用content\u for方法将它们合并到一个文件中,但不起作用 我的ERB模板文件如下所示 layout/_fragments.html.erb:包含部分模板的内容 <% content_for :twitter_checkbox do -%> <% can_post_twitter = current_user && current_us
content\u for
方法将它们合并到一个文件中,但不起作用
我的ERB模板文件如下所示
layout/_fragments.html.erb:包含部分模板的内容
<% content_for :twitter_checkbox do -%>
<% can_post_twitter = current_user && current_user.twitter_oauth %>
<% label_text = can_post_twitter ? "Post to Twitter" : "Set up your Twitter account" %>
<%= label_tag :twitter, label_text %>
<%= check_box_tag :twitter, 0, false, :disabled => !can_post_twitter %>
<%- end %>
<% content_for :other_content_of_partial_template do -%> # content of another partial template
...
!可以发布推特吗%>
#另一部分模板的内容
...
layouts/application.html.erb
<!DOCTYPE html>
<html>
...
<body>
<%= yield %>
</body>
</html>
<%= render 'layouts/fragments', :formats => :erb %>
...
:erb%>
布局/_form.html.erb
<%= form_for(@entry) do |f| %>
...
<%= content_for :twitter_checkbox %> # it shows nothing
<% end %>
...
#什么也看不出来
这样有什么不对?
还有其他更好的方法将多个部分模板写入一个文件吗?您在第二个代码段中缺少了告诉Rails显示返回文本的
=
符号
<%= form_for(@entry) do |f| %>
...
<%= content_for :twitter_checkbox %> # Note <%= - it should now show stuff
<% end %>
...
#注意我想在主布局有机会运行\u片段
部分之前,您已经运行了\u表单
部分,因此当您显示片段时,它们尚未创建
动作在布局之前呈现,而不是在布局之后呈现。从您的操作而不是从布局调用\u片段
,应该可以明确这是否是问题所在。至少,我相信是这样;-)