trustie2 load relative_memos from relative_memo_to_open_source_projects

This commit is contained in:
zhanyun 2016-08-28 12:30:34 +08:00
parent 641ca77da5
commit cd8a339e56
3 changed files with 18 additions and 33 deletions

View File

@ -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)

View File

@ -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",

View File

@ -53,13 +53,13 @@
<ul class="memos_list" style="margin-left: 6px;">
<% for i in (0..memos.length-1) %>
<% memo_id = memos[i] %>
<% memo = memo_id %>
<% memo = memo_id.topic %>
<% next unless memo %>
<li style="margin: 5px 0px 5px; height: 60px;">
<div>
<div id="triangle-right"></div>
<div style="margin-left: 30px; float:left;">
<%= link_to h(truncate(memo.subject, :length => 30)), memo.url, :target => '_blank', :onclick => "return user_trace_click_knowledge_in_project_detail('#{type}','#{memo.id}','#{request.session_options[:id]}',null,'#{i+1}');" %>
<%= link_to h(truncate(memo.title, :length => 30)), memo.url, :target => '_blank', :onclick => "return user_trace_click_knowledge_in_project_detail('#{type}','#{memo.id}','#{request.session_options[:id]}',null,'#{i+1}');" %>
<div align="left" style="margin-top: 10px;">
<span class="font_lighter" style="margin-right: 30px;">来源:&nbsp<%= link_to memo.source, memo.url, :onclick => "return user_trace_click_knowledge_in_project_detail('#{type}','#{memo.id}','#{request.session_options[:id]}',null,'#{i+1}');" %></span>
<span class="font_lighter">
@ -96,7 +96,7 @@
<td align="right" rowspan="2">
<table class="borad-count">
<tr>
<td align="center" class="borad-count-digit"><%= link_to (memo.view_num_crawled+memo.view_num_trustie), memo.url, :target => '_blank', :onclick => "return user_trace_click_knowledge_in_project_detail('#{type}','#{memo.id}','#{request.session_options[:id]}',null,'#{i+1}');" %></td>
<td align="center" class="borad-count-digit"><%= link_to (memo.view_num+memo.view_num_ossean), memo.url, :target => '_blank', :onclick => "return user_trace_click_knowledge_in_project_detail('#{type}','#{memo.id}','#{request.session_options[:id]}',null,'#{i+1}');" %></td>
</tr>
<tr>
<td align="center">浏览</td>