Я использую Ruby on Rails 3 для создания своего веб-приложения.
Я не хочу создавать файл шаблона для каждого крошечного частичного шаблона, поэтому я попытался объединить их в один файл, используя метод content_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
...
Макеты / application.html.erb
<!DOCTYPE html>
<html>
...
<body>
<%= yield %>
</body>
</html>
<%= render 'layouts/fragments', :formats => :erb %>
Макеты / _form.html.erb
<%= form_for(@entry) do |f| %>
...
<%= content_for :twitter_checkbox %> # it shows nothing
<% end %>
Что не так с этим способом?
Есть ли другие лучшие способы записать несколько частичных шаблонов в один файл?