NOOB问题嵌套content_tag rails

时间:2011-08-04 02:28:42

标签: ruby-on-rails-3 content-tag

我在视图中有以下内容

<%= content_tag :p, :class => "title-choose" do %>
         Select image or 
            <%=content_tag :div, :class =>"inputReplacement" do %>
                <%= form_for @upload, :remote => true, :html => { :multipart => true, :method => :post, :id => 'uploadForm', :class => "hiddenInput", :size => 13 } do |f| %>
                    <%= f.file_field :photo %>
                <% end %>
                add image from your computer:
            <% end %>
        <% end%>

产生以下html:

<p class="title-choose"> Select image or </p>
<div class="inputReplacement">
<form id="uploadForm" class="hiddenInput" size="13" method="post" enctype="multipart/form-data" data-remote="true" action="/uploads" accept-charset="UTF-8">
<div style="margin:0;padding:0;display:inline">
<input id="upload_photo" type="file" name="upload[photo]">
</form>
add image from your computer:
</div>
<p></p>

这不是我想要的。我希望div包含在p。

任何人都知道如何使用content_tag执行此操作?

由于

米奇

1 个答案:

答案 0 :(得分:0)

当我将您的视图代码粘贴到我的Rails 3.0.7应用程序视图中时(index.html.erb - 命名很重要)我已正确嵌套:

<p class="title-choose">
         Select image or 
            <div class="inputReplacement">
                <form accept-charset="UTF-8" action="/globalize/translations" class="hiddenInput" data-remote="true" enctype="multipart/form-data" id="uploadForm" method="post" size="13"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="f9/6FmfCO7ezrhaUMOp+d7xOti+6UcvgzQq7M5u9HFU=" /></div>
                    <input id="globalize_translation_photo" name="globalize_translation[photo]" type="file" />
</form>                add image from your computer:
</div></p>

请注意我的@upload对象不同。

是的,你真的应该在<p> s内嵌入<div>标签,而不是相反。