Add this line to your application's Gemfile:
gem 'form_builder'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install form_builder
Example:
User = Struct.new(:first_name, :second_name, :job, :gender, keyword_init: true)
user = User.new first_name: 'maria', job: 'google', gender: 'female'
FormBuilder.form_for user, url: '/users' do |f|
f.input :first_name, class: 'some-class'
f.input :second_name
f.input :job, as: :text, cols: 30, rows: 5
f.input :gender, as: :select, collection: %w[male female]
f.submit 'Send'
end
Will return:
<form action="/users" method="post">
<label for="first_name">First_name</label>
<input type="text" name="first_name" class="some-class" value="maria">
<label for="second_name">Second_name</label>
<input type="text" name="second_name">
<label for="job">Job</label>
<textarea cols="30" rows="5" name="job">google</textarea>
<label for="gender">Gender</label>
<select name="gender">
<option value="male">male</option>
<option value="female" selected>female</option>
</select>
<input type="submit" value="Send" name="commit">
</form>
The gem is available as open source under the terms of the MIT License.