2011-08-04 46 views
0

我見在我看來noob問題問題築巢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> 

這是不是我想要的。我想要包裹在p的div。

任何人都知道如何用content_tag做到這一點?

感謝

米奇

+0

爲什麼不只是做簡單的HTML或哈姆?同樣,在語義上,p應該是由div所包含的那個:) – corroded

+0

你對p中的div是正確的。我會糾正這一點。也許這就是問題所在。 – chell

+0

也嘗試不使用內容標籤,因爲它看起來像你在一個erb模板。正常的html標籤在那裏工作。只在幫手中使用內容標籤 – corroded

回答

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對象是不同的。

是的,你真的應該在<div>之內嵌套<p>標籤,而不是相反。

+0

非常感謝Pewel我會嘗試更改格式,使p不在div內。其實它是我必須與之交談的前端人員,所以我會聽取你的建議。 – chell