我一直在寻找这个问题的现有答案,但还没有找到答案。我目前正在开发一个Rails 3项目,其中一些表单分别具有单选按钮和复选框的多选/多选问题。我使用表单生成的风格,像这样:单选按钮,复选框没有与标签垂直排列(Rails 3)
<%= form_for [@profile,@answer], :method => 'put', :url => { :action => 'update' } do |f| %>
<% if @options.nil? %>
<%= @error_message %>
<% else %>
<% @options.each do |option| %>
<label for="<%= 'answer_response_' + option.downcase.gsub(' ','_') %>"><%= f.radio_button :response, option %><%= option %></label>
<% end %>
<% end %>
<div id="comments_area">
<p>Do you have any additional comments?</p>
<%= f.text_area :comments, :cols => 90, :rows => 5 %>
</div>
<%= submit_tag("Previous") %>
<%= submit_tag("Next") %>
<% end %>
@options只是字符串表示每个选项的排列来显示。
这些标签完美地工作,连接到它们各自的单选按钮/复选框。然而,无论我做什么,标签的文本总是显示在下一行。例如:
Describe yourself:
[]
Short
[]
Fun
[]
Bored
我已经使用f.radio_button/check_box后f.label形式助手以及已经尝试过,并有同样的问题。事实上,这就是为什么我在做上面的标签标签“HTML风格”(不使用ERB)。这是一个可以用CSS解决的样式问题吗?如果是这样,我怎样才能将标签文本放在相应的复选框/单选按钮后面的同一行上?
会试试看,谢谢! – spanport 2012-04-01 20:58:18
找到了!我使用的是引导框架,它的标签是“display:block”,导致它们占据了整条线。我将其改为内联,一切都很好。非常感谢! – spanport 2012-04-01 21:18:22