Create models that are not bound to the database and take advantage of the ActiveRecord features, such as validation, relationships, etc.
Add this line to your application's Gemfile:
gem 'tableless'
And then execute:
$ bundle
Or install it yourself as:
$ gem install tableless
Define a model like this:
class ContactMessage < ActiveRecord::Base
include Tableless
attribute :name, :string
attribute :email, :string
validates :name, :email, presence: true
end
You can now use the model in a view like this:
<%= form_for :message, @message do |f| %>
Name: <%= f.text_field :name %>
Email: <%= f.text_field :email %>
<% end %>
And in the controller:
def message
@message = ContactMessage.new(params[:message])
if @message.valid?
# Process the message...
end
end
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run bundle exec rake install
.
Bug reports and pull requests are welcome on GitHub at https://github.com/hardpixel/tableless.
The gem is available as open source under the terms of the MIT License.