From a8d2c5789c82b91a849aebcc9214152331ffb906 Mon Sep 17 00:00:00 2001 From: nieguanghui Date: Fri, 9 Aug 2013 10:06:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=A1=A8=E4=B8=8D=E5=AD=98=E5=9C=A8=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/project.rb | 5 +---- app/models/user.rb | 16 ++-------------- public/images/button/bg106.jpg | Bin 0 -> 14076 bytes public/images/time_member.png | Bin 0 -> 3131 bytes 4 files changed, 3 insertions(+), 18 deletions(-) create mode 100644 public/images/button/bg106.jpg create mode 100644 public/images/time_member.png diff --git a/app/models/project.rb b/app/models/project.rb index 47494ff31..1b88a4e85 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -59,10 +59,7 @@ class Project < ActiveRecord::Base :join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}", :association_foreign_key => 'custom_field_id' - #添加用户关注项目功能 fq - has_many :watchers, :through => :watchers_of_projects, :class_name => 'User' - has_many :watchers_of_projects, :class_name => 'WatchersOfProjects' - #end + has_many :tags, :through => :project_tags, :class_name => 'Tag' has_many :project_tags, :class_name => 'ProjectTags' diff --git a/app/models/user.rb b/app/models/user.rb index 373252e14..c9d0bc998 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -75,20 +75,8 @@ class User < Principal has_one :rss_token, :class_name => 'Token', :conditions => "action='feeds'" has_one :api_token, :class_name => 'Token', :conditions => "action='api'" belongs_to :auth_source - - # 添加用户关注项目功能 fq - has_many :projects, :through => :watchers_of_projects - has_many :watchers_of_projects, :class_name => 'WatchersOfProjects' - # end of - - # 添加关注用户功能 fq - has_many :watchers_of_users - # end of - - #添加用户留言功能 fq - has_many :messages_for_users - #end -#####fq + + #####fq has_many :jours, :class_name => 'JournalsForMessage', :dependent => :destroy has_many :bids, :foreign_key => 'author_id', :dependent => :destroy has_many :journals_for_messages, :as => :jour, :dependent => :destroy diff --git a/public/images/button/bg106.jpg b/public/images/button/bg106.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5db4c72239873156aa3203767e1be99f8c62997d GIT binary patch literal 14076 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 GkN*b{9g1ZD literal 0 HcmV?d00001 diff --git a/public/images/time_member.png b/public/images/time_member.png new file mode 100644 index 0000000000000000000000000000000000000000..81f91726dbd53e63c2ea8c4035e49e693f9ff7e7 GIT binary patch literal 3131 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 Vep)8cGRFV_002ovPDHLkV1kR%`?&xB literal 0 HcmV?d00001