我正在用redmine编写一个插件,我更新了很多次构建的表,但是当我尝试更新redmine表中的一些属性时,它没有进行炒作。
在我的情况下,我想更新项目表中的“identifier”属性。
def update_project_field()
begin
@projj=Project.find(params[:project_id]) #current projet
begin
if (params[:identifier_pr]) != "" || (params[:identifier_pr]) != nil
@projj.update_attributes(:identifier => params[:pr_identifier])
if @projj.save
flash[:notice] ="ok"
else
flash[:error] ="error"
end
end
rescue Exception => e
puts e.message
puts e.backtrace.inspect
end
redirect_to :action=>'reunion'
end
结束
显示成功消息,但未发生更新。
我该怎么办?
谢谢你的帮助。
答案 0 :(得分:0)
这可能会有所帮助!
def update_project_field()
begin
@projj = Project.find(params[:project_id]) #current projet
unless params[:identifier_pr].blank?
@projj.identifier = params[:pr_identifier]
if @projj.save!
flash[:notice] = "ok"
else
flash[:error] = "error"
end
end
rescue Exception => e
flash[:error] = "Exception raised"
puts e.message
puts e.backtrace.inspect
end
redirect_to :action=>'reunion'
end
答案 1 :(得分:0)
项目的标识符无法更新,因为redmine在项目的url中使用它。
因此,在创建新项目之前,您必须确保标识符非常正确,因为一旦创建了标识符,就无法对其进行修改。