在rails中设置form_for宽度?

时间:2011-11-15 15:11:59

标签: html css

以下是我的edit.html.erb的代码:

<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
<div class="row">
  <br />
  <div class="span12">
    <h2>Main content</h2>
    <%= form_for(@post) do |f| %>
  <% if @post.errors.any? %>
  <div id="errorExplanation">
    <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
    <ul>
    <% @post.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
  </div>
  <% end %>
    <h1>New post</h1>
    <div class="field">
      <%= f.label :Title %><br />
      <%= f.text_field :title %>
    </div>
   <div class="field">
      <%= f.label :content %><br />
      <%= f.text_area :content, :rows => "40", :cols => "40" %>
    </div>
    <div class="field">
      <%= f.label :slug_url %><br />
      <%= f.text_field :slug_url %>
    </div>
    <div class="field">
      <%= f.label :Project %><br />
      <%= f.text_field :project %>
    </div>
    <div class="field">
      <%= f.label :Desciption %><br />
      <%= f.text_field :desc %>
    </div>
    <div>
      <%= f.submit %>
    </div>
<% end %>
  </div>
</div>

在我的网页上,当它加载form_for东西是超级瘦,并不会打破一个非常狭窄的部分。当我检查元素时,我看着h2它跨越了整个12列,但其他一切都没有。我可以调整文本区域的列号,它什么都不做。看起来它默认为最小的text_field为它的宽度。

关于如何弄清楚出了什么问题的任何想法?

4 个答案:

答案 0 :(得分:3)

试试这个:

<%= f.text_field :title, :style => "width:100px;" %>

它对我有用,您可以根据需要更改'100px'。

答案 1 :(得分:2)

在提到的其他答案中,这应该由您的CSS处理。虽然很难在不知道样式表的内容的情况下确切地知道,如下所示:

.edit_post input[type=text], .edit_post textarea {
  width: 100%;
  /* or */
  width: 450px;
}

可能会奏效。

答案 2 :(得分:1)

检查你的CSS。这是一个纯CSS问题,与Rails无关。

(额外提示:尝试使用Haml代替ERb。)

答案 3 :(得分:1)

嗯,你没有指定任何类型的宽度,除非你在样式表中做了,你没有在帖子中包含。 是否有任何换行(如标题&lt; h1&gt;或&lt; h2&gt;)?如果它们不是您想要的,您可以在样式表中为h1 / h2样式添加“white-space:nowrap:”。 我还注意到你正在循环并添加一个列表(&lt; li&gt;)。尝试在&lt;中指定宽度。 ul&gt;标记强制它与标题标记的宽度相同(可能是宽度:100%;)。 只是一些想法,因为我不知道你的样式表是什么样的:)