From cd8a339e56adfccde12438613ffdb135517d0244 Mon Sep 17 00:00:00 2001 From: zhanyun Date: Sun, 28 Aug 2016 12:30:34 +0800 Subject: [PATCH] trustie2 load relative_memos from relative_memo_to_open_source_projects --- .../open_source_projects_controller.rb | 27 ++++++++++--------- trustie2/app/models/relative_memo.rb | 18 +------------ .../open_source_projects/_show_memos.html.erb | 6 ++--- 3 files changed, 18 insertions(+), 33 deletions(-) diff --git a/trustie2/app/controllers/open_source_projects_controller.rb b/trustie2/app/controllers/open_source_projects_controller.rb index de3926a11..1a9596461 100644 --- a/trustie2/app/controllers/open_source_projects_controller.rb +++ b/trustie2/app/controllers/open_source_projects_controller.rb @@ -498,30 +498,31 @@ class OpenSourceProjectsController < ApplicationController size = 5 - rmtosp_name = RelativeMemoToOpenSourceProject.getTableName @open_source_project.id + #rmtosp_name = RelativeMemoToOpenSourceProject.getTableName @open_source_project.id + RelativeMemoToOpenSourceProject.set_table_name RelativeMemoToOpenSourceProject.getTableName @open_source_project.id #@relative_memo_ids=RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id).order('match_weight DESC').limit(10)#.pluck(:relative_memo_id) - @news = get_memos_info_by_type "'news'", @open_source_project.id, rmtosp_name, size - @news_count = get_memos_count_by_type "'news'", @open_source_project.id, rmtosp_name, size + #@news = get_memos_info_by_type "'news'", @open_source_project.id, rmtosp_name, size + #@news_count = get_memos_count_by_type "'news'", @open_source_project.id, rmtosp_name, size # @news = RelativeMemoToOpenSourceProject.find_by_sql ["SELECT r.* FROM #{rmtosp_name} mt" + # " INNER JOIN relative_memos r ON mt.relative_memo_id = r.id" + # " WHERE mt.osp_id = #{@open_source_project.id} AND r.type = 'news' ORDER BY r.created_time DESC LIMIT #{size} "] # @news_count = (RelativeMemoToOpenSourceProject.find_by_sql ["SELECT r.id FROM #{rmtosp_name} mt" + # " INNER JOIN relative_memos r ON mt.relative_memo_id = r.id" + # " WHERE mt.osp_id = #{@open_source_project.id} AND r.type = 'news'"]).count - #RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'news').order('created_time DESC').limit(size) - #@news_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'news').count + @news = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'news').order('created_time DESC').limit(size) + @news_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'news').count - @blogs = get_memos_info_by_type "'blog'", @open_source_project.id, rmtosp_name, size - @blogs_count = get_memos_count_by_type "'blog'", @open_source_project.id, rmtosp_name, size + #@blogs = get_memos_info_by_type "'blog'", @open_source_project.id, rmtosp_name, size + #@blogs_count = get_memos_count_by_type "'blog'", @open_source_project.id, rmtosp_name, size - @posts = get_memos_info_by_type "'topic'", @open_source_project.id, rmtosp_name, size - @posts_count = get_memos_count_by_type "'topic'", @open_source_project.id, rmtosp_name, size - # @blogs = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'blog').order('created_time DESC').limit(size) - # @blogs_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'blog').count + #@posts = get_memos_info_by_type "'topic'", @open_source_project.id, rmtosp_name, size + #@posts_count = get_memos_count_by_type "'topic'", @open_source_project.id, rmtosp_name, size + @blogs = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'blog').order('created_time DESC').limit(size) + @blogs_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'blog').count # - # @posts = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'topic').order('created_time DESC').limit(size) - # @posts_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'topic').count + @posts = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'topic').order('created_time DESC').limit(size) + @posts_count = RelativeMemoToOpenSourceProject.includes(:relative_memos).where(osp_id: @open_source_project.id, memo_type: 'topic').count #@relative_topics=RelativeMemo.where(id: @relative_memo_ids).group('subject').order('replies_num DESC').limit(10) #@tech_trend_topics_ids=RelativeMemoToOpenSourceProject.where(osp_id: @open_source_project.id, memo_type: 'news').order('created_time DESC, match_weight DESC, replies_num DESC').limit(7) #.pluck(:relative_memo_id) diff --git a/trustie2/app/models/relative_memo.rb b/trustie2/app/models/relative_memo.rb index 55911377a..97b282219 100644 --- a/trustie2/app/models/relative_memo.rb +++ b/trustie2/app/models/relative_memo.rb @@ -38,7 +38,6 @@ class RelativeMemo < ActiveRecord::Base acts_as_attachable #solr search -<<<<<<< HEAD # searchable do # text :title, :stored => false # integer :review_num @@ -52,21 +51,6 @@ class RelativeMemo < ActiveRecord::Base # #join(:osp_id, :target => RelativeMemoToOpenSourceProject, :type => :integer, :join => { :from => :relative_memo_id, :to => :id }, :as => 'osp_id') # #join(:relative_memo_id, :target => RelativeMemoToOpenSourceProject, :type => :integer, :join => { :from => :relative_memo_id, :to => :id }, :as => 'relative_memo_id') # end -======= - searchable do - text :subject, :stored => false - integer :replies_num - integer :parent_id - time :created_time - text :tags - string :source, :stored => false - #integer :view_num_crawled - #integer :view_num_trustie - #integer :collection_num - #join(:osp_id, :target => RelativeMemoToOpenSourceProject, :type => :integer, :join => { :from => :relative_memo_id, :to => :id }, :as => 'osp_id') - #join(:relative_memo_id, :target => RelativeMemoToOpenSourceProject, :type => :integer, :join => { :from => :relative_memo_id, :to => :id }, :as => 'relative_memo_id') - end ->>>>>>> fc32dce46690c8840c44166db11b351b9056dcbf belongs_to :last_reply, :class_name => 'RelativeMemo', :foreign_key => 'last_reply_id' # acts_as_searchable :column => ['subject', 'content'], @@ -89,7 +73,7 @@ class RelativeMemo < ActiveRecord::Base # acts_as_watchable safe_attributes "author_id", - "subject", + "title", "content", "replies_num", "view_count_crawled", diff --git a/trustie2/app/views/open_source_projects/_show_memos.html.erb b/trustie2/app/views/open_source_projects/_show_memos.html.erb index 5049c44cc..4013ee800 100644 --- a/trustie2/app/views/open_source_projects/_show_memos.html.erb +++ b/trustie2/app/views/open_source_projects/_show_memos.html.erb @@ -53,13 +53,13 @@