From b6826a74d34cde40c248aa409ea8c6ca6db7ade9 Mon Sep 17 00:00:00 2001 From: z9hang Date: Wed, 14 Jan 2015 11:50:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E5=8D=B7=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/poll_controller.rb | 4 +- app/models/poll.rb | 2 +- app/models/poll_question.rb | 2 +- app/views/poll/show.html.erb | 181 ++++++++++-------- ...0_add_question_number_to_poll_questions.rb | 9 + db/schema.rb | 7 +- 6 files changed, 115 insertions(+), 90 deletions(-) create mode 100644 db/migrate/20150114022710_add_question_number_to_poll_questions.rb diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index 9177e044b..88bbfff46 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -19,8 +19,8 @@ class PollController < ApplicationController def show @poll = Poll.find params[:id] - @poll_questions = @poll.poll_questions - + poll_questions = @poll.poll_questions + @poll_questions = paginateHelper poll_questions,3 #分页 respond_to do |format| format.html {render :layout => 'base_courses'} end diff --git a/app/models/poll.rb b/app/models/poll.rb index 803ee6ac6..06f1369c1 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -3,7 +3,7 @@ class Poll < ActiveRecord::Base include Redmine::SafeAttributes belongs_to :user - has_many :poll_questions, :dependent => :destroy + has_many :poll_questions, :dependent => :destroy,:order => "#{PollQuestion.table_name}.question_number" has_many :poll_users, :dependent => :destroy has_many :users, :through => :poll_users #该文件被哪些用户提交答案过 end diff --git a/app/models/poll_question.rb b/app/models/poll_question.rb index 66dcea67e..2d9912fc2 100644 --- a/app/models/poll_question.rb +++ b/app/models/poll_question.rb @@ -3,6 +3,6 @@ class PollQuestion < ActiveRecord::Base include Redmine::SafeAttributes belongs_to :poll - has_many :poll_answers, :dependent => :destroy + has_many :poll_answers, :order => "#{PollAnswer.table_name}.answer_position",:dependent => :destroy has_many :poll_votes, :dependent => :destroy end diff --git a/app/views/poll/show.html.erb b/app/views/poll/show.html.erb index a0c111a79..26daa8fc5 100644 --- a/app/views/poll/show.html.erb +++ b/app/views/poll/show.html.erb @@ -20,90 +20,105 @@
    - -
  1. -
    - 第1题: 单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题单选题 * -
    -
    -
    - - - - - - - - - - - - -
    - -
    - -
    - -
    -
    -
  2. - -
  3. -
    - 第2题: 多选题 * -
    -
    -
    - - - - - - - - - - - - -
    - -
    - -
    - -
    -
    -
  4. - - -
  5. -
    - 第3题: 单行主观 -
    -
    -
    - -
    -
  6. - -
  7. -
    -
    - 第4题: 多行主观 -
    -
    -
    - -
    -
    -
  8. - + <% @poll_questions.each do |pq| %> + <% if pq.question_type == 1 %> + +
  9. +
    + 第<%= pq.question_number %>题: + <%= pq.question_title %> + <% if pq.is_necessary == 1 %> + * + <% end %> +
    +
    +
    + + + <% pq.poll_answers.each do |pa| %> + + + + <% end %> + +
    + +
    +
    +
  10. + <% elsif pq.question_type == 2 %> + +
  11. +
    + 第<%= pq.question_number %>题: + <%= pq.question_title %> + <% if pq.is_necessary == 1 %> + * + <% end %> +
    +
    +
    + + + <% pq.poll_answers.each do |pa| %> + + + + <% end %> + +
    + +
    +
    +
  12. + <% elsif pq.question_type == 3 %> + +
  13. +
    + 第<%= pq.question_number %>题: + <%= pq.question_title %> + <% if pq.is_necessary == 1 %> + * + <% end %> +
    +
    +
    + +
    +
  14. + <% elsif pq.question_type == 4 %> + +
  15. +
    +
    + 第<%= pq.question_number %>题: + <%= pq.question_title %> + <% if pq.is_necessary == 1 %> + * + <% end %> +
    +
    +
    + +
    +
    +
  16. + <% else %> + + <% end %> + <% end %>
- -
- 下一页 +
    + <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> +
+
+
diff --git a/db/migrate/20150114022710_add_question_number_to_poll_questions.rb b/db/migrate/20150114022710_add_question_number_to_poll_questions.rb new file mode 100644 index 000000000..71f0328be --- /dev/null +++ b/db/migrate/20150114022710_add_question_number_to_poll_questions.rb @@ -0,0 +1,9 @@ +class AddQuestionNumberToPollQuestions < ActiveRecord::Migration + def self.up + add_column :poll_questions, :question_number, :integer + end + + def self.down + remove_column :poll_questions, :question_number + end +end diff --git a/db/schema.rb b/db/schema.rb index a58602e37..53d57d748 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150112080435) do +ActiveRecord::Schema.define(:version => 20150114022710) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -815,8 +815,9 @@ ActiveRecord::Schema.define(:version => 20150112080435) do t.integer "question_type" t.integer "is_necessary" t.integer "poll_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "question_number" end create_table "poll_users", :force => true do |t|