Sha256: 039cee462698855cf84d928bf3a40dd25b7a7eb03afdde59a8c0e2ba7bed193d
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
Ask === Ask is a Rails engine that provides tools to simplify the process of letting your app's users build forms for things like questionnaires or surveys. Requirements ------------ - Rails 3.1 or higher Installation ------------ Add to your Gemfile: gem 'ask' In your terminal run: bundle rake ask_engine:install:migrations rake db:migrate Usage ----- Ask needs to be tied to two models in your application: an "asker" and an "answerer". The asker model should be the model that has questions, such as a Survey or Event. The answerer model should be the model that has answers to the questions such as a SurveySubmission or an EventRegistration. In your asker model add: acts_as_asker In your answerer model add: acts_as_answerer In your asker form views, inside an already defined `form_for` helper add: <%= render(:partial => 'asker/form', :locals => { :f => f }) %> In your answerer form views, inside an already defined `form_for` helper add: <%= render(:partial => 'answerer/form', :locals => { :f => f }) %> In your javascript manifest file add: //= require ask In your stylesheet manifest file add: /* *= require ask */ In your asker controller's `new` and `edit` methods you'll need to build the first question and choice. The best way to do this is create a private method: def build_questions @event.questions.build @event.questions.each{|q| q.choices.build} end Then at the top of your asker controller, include: before_filter :build_questions, :only => [:new, :edit] In your answerer controller's `new` and `edit` methods you'll want to call `build_or_create_answers` and pass it in the appropriate questions. Such as: @event_registration.build_or_create_answers @event_registration.event.questions Finally you'll need to define an `asker` method on your answerer model, like so: class EventRegistration < ActiveRecord::Base def asker return event end end License ------- MIT License
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ask-0.3.1 | README.markdown |