Ruby on Rails 3を使用してWebアプリケーションを作成しています。 小さな部分テンプレートごとにテンプレートファイルを作成したくないので、content_for
メソッドを使ってファイルを1つのファイルにマージしようとしましたが、動作しません。複数の部分テンプレートを1つのファイルにマージするにはどうすればよいですか?
私のERBテンプレートファイルは以下の通りです。
レイアウト/ _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 %>
の内容が含まれています
この方法で何が問題になりますか? 複数の部分テンプレートを1つのファイルに書き込む他の方法がありますか?
ありがとう、私はそれを修正しましたが、まだ何も表示されません。 – yaotti