diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index e1439b7f9..b3fdf5087 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 66fcd3bcd..26daa8fc5 100644 --- a/app/views/poll/show.html.erb +++ b/app/views/poll/show.html.erb @@ -20,86 +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 %>
- -
- 下一页 + +
+
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 9c6f4eac3..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 => 20150112024820) do +ActiveRecord::Schema.define(:version => 20150114022710) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -23,6 +23,18 @@ ActiveRecord::Schema.define(:version => 20150112024820) do add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type" add_index "activities", ["user_id"], :name => "index_activities_on_user_id" + create_table "api_keys", :force => true do |t| + t.string "access_token" + t.datetime "expires_at" + t.integer "user_id" + t.boolean "active", :default => true + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token" + add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id" + create_table "applied_projects", :force => true do |t| t.integer "project_id", :null => false t.integer "user_id", :null => false @@ -803,8 +815,9 @@ ActiveRecord::Schema.define(:version => 20150112024820) 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|