Add survey replies.
This commit is contained in:
parent
03168b4efe
commit
157a16d8f2
6 changed files with 29 additions and 2 deletions
|
|
@ -40,7 +40,7 @@ module Admin
|
||||||
private
|
private
|
||||||
|
|
||||||
def survey_params
|
def survey_params
|
||||||
params.require(:survey).permit(:title, :description, :start_date, :end_date, :surveyable_type, :surveyable_id)
|
params.require(:survey).permit(:title, :description, :target, :start_date, :end_date, :surveyable_type, :surveyable_id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ class SurveyQuestion < ActiveRecord::Base
|
||||||
validates :max_choices, numericality: { greater_than_or_equal_to: 1 }, allow_blank: true
|
validates :max_choices, numericality: { greater_than_or_equal_to: 1 }, allow_blank: true
|
||||||
|
|
||||||
validate :max_choices_greater_than_min
|
validate :max_choices_greater_than_min
|
||||||
|
has_many :survey_replies
|
||||||
|
|
||||||
|
|
||||||
def single_choice?
|
def single_choice?
|
||||||
choice? && max_choices == 1 && min_choices == 1
|
choice? && max_choices == 1 && min_choices == 1
|
||||||
|
|
|
||||||
5
app/models/survey_reply.rb
Normal file
5
app/models/survey_reply.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
class SurveyReply < ActiveRecord::Base
|
||||||
|
belongs_to :user
|
||||||
|
belongs_to :survey_question
|
||||||
|
serialize :text
|
||||||
|
end
|
||||||
|
|
@ -42,6 +42,7 @@ class User < ActiveRecord::Base
|
||||||
has_many :votes, dependent: :destroy
|
has_many :votes, dependent: :destroy
|
||||||
has_many :voted_events, through: :votes, source: :events
|
has_many :voted_events, through: :votes, source: :events
|
||||||
has_many :subscriptions, dependent: :destroy
|
has_many :subscriptions, dependent: :destroy
|
||||||
|
has_many :survey_replies
|
||||||
accepts_nested_attributes_for :roles
|
accepts_nested_attributes_for :roles
|
||||||
|
|
||||||
scope :admin, -> { where(is_admin: true) }
|
scope :admin, -> { where(is_admin: true) }
|
||||||
|
|
|
||||||
11
db/migrate/20160630094850_create_survey_replies.rb
Normal file
11
db/migrate/20160630094850_create_survey_replies.rb
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
class CreateSurveyReplies < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :survey_replies do |t|
|
||||||
|
t.integer :survey_question_id
|
||||||
|
t.integer :user_id
|
||||||
|
t.text :text
|
||||||
|
|
||||||
|
t.timestamps null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
10
db/schema.rb
10
db/schema.rb
|
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20160629145954) do
|
ActiveRecord::Schema.define(version: 20160630094850) do
|
||||||
|
|
||||||
create_table "ahoy_events", force: :cascade do |t|
|
create_table "ahoy_events", force: :cascade do |t|
|
||||||
t.uuid "visit_id", limit: 16
|
t.uuid "visit_id", limit: 16
|
||||||
|
|
@ -385,6 +385,14 @@ ActiveRecord::Schema.define(version: 20160629145954) do
|
||||||
t.boolean "mandatory", default: false
|
t.boolean "mandatory", default: false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "survey_replies", force: :cascade do |t|
|
||||||
|
t.integer "survey_question_id"
|
||||||
|
t.integer "user_id"
|
||||||
|
t.text "text"
|
||||||
|
t.datetime "created_at", null: false
|
||||||
|
t.datetime "updated_at", null: false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "surveys", force: :cascade do |t|
|
create_table "surveys", force: :cascade do |t|
|
||||||
t.datetime "start_date"
|
t.datetime "start_date"
|
||||||
t.datetime "end_date"
|
t.datetime "end_date"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue