【发布时间】:2013-03-19 08:00:22
【问题描述】:
我在 redmine 中编写一个插件,我更新了很多次我构建的表,但是当我尝试更新 redmine 表中的一些属性时它没有工作。
就我而言,我想更新项目表中的“标识符”属性。
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
结束
显示成功消息,但未发生更新。
我该怎么办?
谢谢你的帮助。
【问题讨论】:
-
你可以在rails server console中检查sql查询,如果有问题你会发现你的代码有什么问题
-
它工作正常(没有发现错误)但我总是发现同样的问题(没有更新发生)
-
您可以发布更新操作的堆栈跟踪吗?从参数开始并在重定向之前完成
-
irb(main):063:0* @proj=Project.find(:all, :conditions => {:id => 2}) ←[1m←[36mProject Load (1.0ms) ←[0m ←[1mSELECT
projects.* FROMprojectsWHE REprojects.id= 2←[0m => [#] -
irb(main):064:0> @proj.each 做 |a| irb(main):065:1* a.update_attributes(:identifier => "new identifier") irb(main):066:1> end ←[1m←[35m (1.0ms)←[0m BEGIN ←[1m← [36mProject Exists (0.0ms)←[0m ←[1mSELECT 1 AS one FROM
projectsWHERE (projects.identifier= BINARY 'idetifier_projet_2' ANDprojects.id!= 2) 限制 1←[ 0m ←[1m←[35mRepository Load (1.0ms)←[0m SELECTrepositories.* FROMrepositori esWHERErepositories.project_id= 2 AND (is_default = 1) LIMIT 1 ←[1m←[36mWiki Load (1.0ms)←[0m ←[1mSELECTwikis.* FROMwikisWHEREwikis.project_id= 2 LIMIT 1←[0m
标签: sql ruby-on-rails redmine redmine-plugins