diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index b5b0bdb5f..2c220c25b 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -630,7 +630,7 @@ class ApplicationController < ActionController::Base obj[@obj_pages.offset, @obj_pages.per_page] else logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}" - nil + raise RuntimeError, 'unknow type, Please input you type into this helper.' end end end diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index b6e244735..113adecc5 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -129,8 +129,14 @@ class WordsController < ApplicationController def leave_project_message user = User.current message = params[:new_form][:project_message] - Project.add_new_jour(user, message, params[:id]) - redirect_to project_feedback_path(params[:id]) + feedback = Project.add_new_jour(user, message, params[:id]) + if(feedback.errors.empty?) + redirect_to project_feedback_path(params[:id]), notice: l(:label_feedback_success) + else + flash[:error] = feedback.errors.full_messages[0] + redirect_to project_feedback_path(params[:id]) + end + end def add_brief_introdution diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 74e96094f..bb03ad121 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -2,7 +2,7 @@ class JournalsForMessage < ActiveRecord::Base attr_accessible :jour_id, :jour_type, :notes, :reply_id, :status, :user_id attr_accessor :indice - + validates :notes, presence: true belongs_to :jour, :polymorphic => true belongs_to :user has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy diff --git a/app/models/project.rb b/app/models/project.rb index cafdd9585..d198d38c0 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -160,12 +160,18 @@ class Project < ActiveRecord::Base # 项目留言 added by fq def self.add_jour(user, notes) project = Project.find('trustie') - project.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => 0) + # project.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => 0) + pjfm = project.journals_for_messages.build(:user_id => user.id, :notes => notes, :reply_id => 0) + pjfm.save + pjfm end def self.add_new_jour(user, notes, id) project = Project.find(id) - project.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => 0) + # project.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => 0) + pjfm = project.journals_for_messages.build(:user_id => user.id, :notes => notes, :reply_id => 0) + pjfm.save + pjfm end # end diff --git a/app/views/projects/feedback.html.erb b/app/views/projects/feedback.html.erb index 416ee8978..be7827e9d 100644 --- a/app/views/projects/feedback.html.erb +++ b/app/views/projects/feedback.html.erb @@ -1,6 +1,5 @@