I want to add a default value to a text-input field using simple-form.
With :placeholder it is not used as default....
<%= f.input :user, :placeholder => '[email protected]' %>
I want to add a default value to a text-input field using simple-form.
With :placeholder it is not used as default....
<%= f.input :user, :placeholder => '[email protected]' %>
<%= f.input :user, :input_html => { :value => '[email protected]' } %>
:input_html => { :value => '[email protected]' }You can simply do:
<% f.text_field, value: '[email protected]' %>
text_field is good if you are working with form search gem like Ransack.
You can do this in the controller and keep data details out of your forms. Instead of this:
def new
@article = Article.new
end
you can do this:
def new
# hardcode default values (as shown) or generate on the fly
@article = Article.new(title: "10 Best Things")
end
The "new" form will open with the default (pre-set) values filled in. This should work with simple-form, plain old Rails, or any other form generator that does does things the Rails way..
On rails 5.1 placeholder: 'aaaaaaaaaaa' works. E.g.
<%= f.input :user, :placeholder => '[email protected]' %>
will work on rails 5.1
value: ( f.object.user.presence || '[email protected]' ), which will use the existing value or set it to[email protected]if nothing is set. This will also handle empty Strings""and consider thatniland use the default value.