From aed4b250a051cb8f5b73520885bd70773fa65519 Mon Sep 17 00:00:00 2001 From: fanqiang <316257774@qq.com> Date: Tue, 20 May 2014 16:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=90=8E=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/relative_memos_controller.rb | 4 ++-- app/models/relative_memo.rb | 6 +++++- app/models/relative_memo_to_open_source_project.rb | 9 ++++++++- app/views/open_source_projects/_show_topics.html.erb | 9 +++++---- app/views/open_source_projects/show.html.erb | 2 +- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/controllers/relative_memos_controller.rb b/app/controllers/relative_memos_controller.rb index f8741365b..c862119df 100644 --- a/app/controllers/relative_memos_controller.rb +++ b/app/controllers/relative_memos_controller.rb @@ -37,7 +37,7 @@ class RelativeMemosController < ApplicationController def show pre_count = REPLIES_PER_PAGE - @memo = @memo.root # 取出楼主,防止输入帖子id让回复作为主贴显示 + # @memo = @memo.root # 取出楼主,防止输入帖子id让回复作为主贴显示 @memo.update_column(:viewed_count_local, (@memo.viewed_count_local.to_i + 1)) page = params[:page] @@ -142,7 +142,7 @@ class RelativeMemosController < ApplicationController def find_memo return unless find_osp - @memo = @open_source_project.relative_memos.find(params[:id]) + @memo = @open_source_project.topics.find(RelativeMemo.find(params[:id]).root.id) rescue ActiveRecord::RecordNotFound render_404 nil diff --git a/app/models/relative_memo.rb b/app/models/relative_memo.rb index 9f88c4c86..11766bb05 100644 --- a/app/models/relative_memo.rb +++ b/app/models/relative_memo.rb @@ -12,7 +12,6 @@ class RelativeMemo < ActiveRecord::Base has_many :no_uses, :as => :no_use, :dependent => :delete_all acts_as_taggable - acts_as_attachable validates_presence_of :subject #validates :content, presence: true @@ -82,6 +81,11 @@ class RelativeMemo < ActiveRecord::Base { :include => :no_uses, :conditions => ["#{NoUse.table_name}.user_id = ?", user_id] } } + + # 获取帖子的回复 + def replies + memos = RelativeMemo.where("parent_id = ?", id) + end def no_use_for?(user) self.no_uses.each do |no_use| diff --git a/app/models/relative_memo_to_open_source_project.rb b/app/models/relative_memo_to_open_source_project.rb index 2586d1c8e..cb33de2d6 100644 --- a/app/models/relative_memo_to_open_source_project.rb +++ b/app/models/relative_memo_to_open_source_project.rb @@ -1,7 +1,14 @@ class RelativeMemoToOpenSourceProject < ActiveRecord::Base # attr_accessible :title, :body belongs_to :open_source_project, :foreign_key => "osp_id" - belongs_to :relative_memo, :foreign_key => 'relative_memo_id' + belongs_to :topic, :class_name => 'RelativeMemo', :foreign_key => 'relative_memo_id' + has_many :no_uses, :as => :no_use, :dependent => :delete_all + validates_presence_of :osp_id, :relative_memo_id + + scope :no_use_for, lambda { |user_id| + {:include => :no_uses, + :conditions => ["#{NoUse.table_name}.user_id = ?", user_id] } + } end diff --git a/app/views/open_source_projects/_show_topics.html.erb b/app/views/open_source_projects/_show_topics.html.erb index 3ede2730e..5d4f7b3d6 100644 --- a/app/views/open_source_projects/_show_topics.html.erb +++ b/app/views/open_source_projects/_show_topics.html.erb @@ -13,11 +13,11 @@ - +
<%= link_to h(topic.subject), open_source_project_relative_memo_path(topic.open_source_project, topic) %><%= link_to h(topic.subject), open_source_project_relative_memo_path(open_source_project, topic) %> - + @@ -26,7 +26,7 @@
<%= link_to (topic.replies_count), open_source_project_relative_memo_path(topic.open_source_project, topic) %><%= link_to (topic.replies_count), open_source_project_relative_memo_path(open_source_project, topic) %>
回答 - + @@ -43,7 +43,8 @@ - + <% relation_memo = RelativeMemoToOpenSourceProject.where("osp_id = ? and relative_memo_id = ?", open_source_project.id, topic.id).first %> +
<%= link_to (topic.viewed_count_crawl+topic.viewed_count_local), open_source_project_relative_memo_path(topic.open_source_project, topic) %><%= link_to (topic.viewed_count_crawl+topic.viewed_count_local), open_source_project_relative_memo_path(open_source_project, topic) %>
浏览
帖子来源:<%= link_to topic.url, topic.url%> <%= no_use_link(topic, User.current) %> <%= no_use_link(relation_memo, User.current) %>
<%= image_tag( "/images/sidebar/tags.png") %> diff --git a/app/views/open_source_projects/show.html.erb b/app/views/open_source_projects/show.html.erb index 0459e2399..d1751dec8 100644 --- a/app/views/open_source_projects/show.html.erb +++ b/app/views/open_source_projects/show.html.erb @@ -51,4 +51,4 @@ :title => l(:button_delete) ) if @forum.destroyable_by?(User.current) %> -<%= render :partial => 'open_source_projects/show_topics', :locals => {:memos => @memos} %> +<%= render :partial => 'open_source_projects/show_topics', :locals => {:memos => @memos, :open_source_project => @open_source_project} %>