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) %> |
- <%= 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) %> |
回答 |
@@ -26,7 +26,7 @@
- <%= 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) %> |
浏览 |
@@ -43,7 +43,8 @@
帖子来源:<%= link_to topic.url, topic.url%> |
- <%= no_use_link(topic, User.current) %> |
+ <% relation_memo = RelativeMemoToOpenSourceProject.where("osp_id = ? and relative_memo_id = ?", open_source_project.id, topic.id).first %>
+ <%= 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} %>
| | | |