16

我试过了

  #Default size for text inputs.  
  config.default_input_size = 10

来自 config/initializers/simple_form.rb

我也试过<%= f.input :message, :input_html => {:size => 10} %>

但是这些都没有改变我的文本字段的显示方式。

4

8 回答 8

44

你需要这样做

<%= f.input :message, :input_html => {:rows => 10} %>

Html 文本区域标签属性有两个属性rows,即cols允许您指定文本区域的行数和列数(即宽度)。如果这不起作用,请打开控制台并查看您的 css 是否覆盖了高度。

于 2012-11-26T15:33:15.573 回答
16

传递 :input_html 选项会覆盖默认值。您必须检查可以修改其行为的 css 类的属性值。

<%= f.input : message, :as => :text, :input_html => { 'rows' => 10} %>
于 2013-09-20T13:19:22.490 回答
8

我设法通过添加 :as => :text到输入字段属性然后将样式和行添加到输入 html 来做到这一点:

<%= f.input :message, label: "Message: ", :as => :text, input_html: { :style=> 'width: 100%;', :rows => 4} %>

对我来说,正是:as => :text它让“行”属性起作用,100% 的宽度使它变得流畅而不是固定宽度。

于 2015-06-04T07:54:45.373 回答
3

如果要更改“高度”,则需要修改 css 属性:

<%= f.input :message, input_html: {style: 'height:10px;'} %>
于 2012-11-25T23:20:31.020 回答
2

老问题,我知道。这就是 SimpleForm 3.2.0 和 Rails 4.2.3 对我有用的:

<%= f.input_field :field_name, as: :text, class: "my-custom-class", rows: 5 %>
于 2015-12-16T03:31:21.830 回答
1

你可以做

<%= f.input :message, :size => "10x10" %>

对于高度和宽度。

它可能适用于文本字段,但绝对适用于text_area。无论如何,您可能都希望使用 text_area 作为消息。

于 2012-11-25T23:35:36.387 回答
0

尝试使用 Google Chrome 中的 Firebug 或 Code Inspector 来检查text_field元素,查看确切的类名并直接在样式表文件中进行更改。

于 2012-11-25T23:15:39.183 回答
0

我刚刚在 Rails 5.1 和 Bootstrap4 上遇到了同样的问题。我做了以下事情:

<%= f.input :bio, input_html: {style: 'height:200px !important;'} %>

它有效。

于 2018-10-08T13:54:17.167 回答