diff --git a/app/controllers/survey/choices_controller.rb b/app/controllers/survey/choices_controller.rb index 08f0959..4a0ed30 100644 --- a/app/controllers/survey/choices_controller.rb +++ b/app/controllers/survey/choices_controller.rb @@ -18,15 +18,19 @@ class Survey::ChoicesController < ApplicationController respond_to do |format| format.html {redirect_to @survey_choice.question} format.json { render json: @survey_choice } + format.js end end # GET /survey/choices/new # GET /survey/choices/new.json def new - @survey_choice = Survey::Choice.new + @question= Survey::Question.find(params[:question_id]) + @choice=Survey::Choice.new + @choice.question=@question respond_to do |format| + format.js format.html # new.html.erb format.json { render json: @survey_choice } end @@ -43,13 +47,16 @@ class Survey::ChoicesController < ApplicationController # POST /survey/choices # POST /survey/choices.json + include PluginsHelper def create @survey_choice = Survey::Choice.new(params[:survey_choice]) - + @divid = divid_for(@survey_choice) + respond_to do |format| if @survey_choice.save format.html { redirect_to @survey_choice, notice: 'Choice was successfully created.' } format.json { render json: @survey_choice, status: :created, location: @survey_choice } + format.js else format.html { render action: "new" } format.json { render json: @survey_choice.errors, status: :unprocessable_entity } diff --git a/app/controllers/survey/questions_controller.rb b/app/controllers/survey/questions_controller.rb index 19b6a33..87c90e1 100644 --- a/app/controllers/survey/questions_controller.rb +++ b/app/controllers/survey/questions_controller.rb @@ -20,7 +20,10 @@ class Survey::QuestionsController < ApplicationController end @survey_question.do_answer(params[:survey_question][:selected],user) - render :show + respond_to do |format| + format.html { redirect_to action: :show} + format.js { render action: :show} + end end # GET /survey/questions/1 # GET /survey/questions/1.json diff --git a/app/models/survey/choice.rb b/app/models/survey/choice.rb index 6477423..dc0b25d 100644 --- a/app/models/survey/choice.rb +++ b/app/models/survey/choice.rb @@ -1,6 +1,6 @@ class Survey::Choice < ActiveRecord::Base belongs_to :question, class_name: 'Survey::Question' - attr_accessible :picture, :sort, :text, :icon, :picture_cache, :remove_picture + attr_accessible :picture, :sort, :text, :icon, :picture_cache, :remove_picture, :question_id has_many :answers, class_name: 'Survey::Answer' include ActionView::Helpers::TagHelper mount_uploader :picture, PictureUploader diff --git a/app/views/survey/choices/_choice.html.erb b/app/views/survey/choices/_choice.html.erb index 6cc8293..173386c 100644 --- a/app/views/survey/choices/_choice.html.erb +++ b/app/views/survey/choices/_choice.html.erb @@ -7,7 +7,7 @@ if current_user.nil? else value=(current_user.id.nil?)? false : choice.answers.where(user_id: current_user.id).count>0 cstyle=(value) ? "true" :"false" - t= link_to(raw("" + choice.html+ (( choice.picture.nil? || choice.picture.to_s.empty?) ? "":image_tag(choice.picture.thumb.url))), answer_survey_question_path(choice.question, params: {survey_question: {selected: [choice.id]}}),class: "choice-"+cstyle ) + t= link_to(raw("" + choice.html+ (( choice.picture.nil? || choice.picture.to_s.empty?) ? "":image_tag(choice.picture.thumb.url))), answer_survey_question_path(choice.question, params: {survey_question: {selected: [choice.id]}}),class: "choice-"+cstyle,remote: true ) end %> diff --git a/app/views/survey/choices/_form.html.erb b/app/views/survey/choices/_form.html.erb index f11f55b..40b602b 100644 --- a/app/views/survey/choices/_form.html.erb +++ b/app/views/survey/choices/_form.html.erb @@ -1,10 +1,11 @@ -<%= semantic_form_for @choice do |f| %> +<%= div_tag_for(@choice) do %> +<%= semantic_form_for @choice, remote: true do |f| %> <%= f.inputs do %> <%= f.input :text %> Choose Icon <%= f.input :icon, :input_html=>{:id=>"iconfield"},:as=>:hidden %> - +<%= f.input :question %> <%= f.input :picture, as: :uploader %> <%= f.hidden_field :picture_cache %> @@ -45,3 +46,4 @@ $("#openselect").on('click', function(){$('#dialog').dialog('open')});
+<% end %> diff --git a/app/views/survey/choices/create.js.erb b/app/views/survey/choices/create.js.erb new file mode 100644 index 0000000..d973e8d --- /dev/null +++ b/app/views/survey/choices/create.js.erb @@ -0,0 +1 @@ +$('#<%= @divid %>').replaceWith("<%= escape_javascript(render @survey_choice) %>") diff --git a/app/views/survey/choices/new.js.erb b/app/views/survey/choices/new.js.erb index 7f019f8..07c12cb 100644 --- a/app/views/survey/choices/new.js.erb +++ b/app/views/survey/choices/new.js.erb @@ -1 +1 @@ -$('#<%= %>').find('ul.choice-list').append("