I have this form:
<%= simple_form_for @article do |m| %>
<%= m.simple_fields_for :article_comment do |p| %>
<%= p.error_notification %>
<%= p.input :article_id, as: :hidden, input_html: {value: @article.id} %>
<div class="form-inputs">
<div class="row">
<div class="col-md-2 col-md-offset-1">
<%= p.label 'What do you think?', :class => 'indexsubtext' %>
</div>
<div class="col-md-9">
<%= p.input :comment, label: false, autofocus: true, :input_html => {:style=> 'width: 100%', :rows => 5, class: 'response-project'} %>
</div>
I want the input box to show 5 rows, but it only shows 1. How do I force it to provide 5?
By default, simple_form
will choose the element based on the type in your database. If comment
is of type string
(rather than text
), it will use an input
field, which does not have a rows
attribute.
Try adding an as: :text
option. This will force the element to a textarea
:
<%= p.input :comment, label: false, as: :text, autofocus: true, :input_html => {:style => 'width: 100%', :rows => 5, class: 'response-project'} %>
This may solve your problem as it did for this guy.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With