【发布时间】:2012-10-14 09:21:40
【问题描述】:
在我的 ruby on rails 项目中,我在 update 中发现了这个错误。
undefined local variable or method ` ' for #<ProfileController:0x007fd904dc8568>.
但是,我在控制器中找不到 (` ')。
ProfileController#update
def update
unless params[:sport_name].nil?
ps_array = params[:sport_name]
level =[params[:level1],params[:level2],params[:level3]]
# play_sports id
sp_id = [params[:sp_id1], params[:sp_id2], params[:sp_id3]]
arr = [ps_array["1"],ps_array["2"],ps_array["3"]]
sport_id = [params[:sport_id1],params[:sport_id2],params[:sport_id3]]
check = [params[:check1], params[:check2], params[:check3]]
if @user.play_sports.count != 0
(0..2).each do |i|
if (check[i].to_i == 1)
PlaySport.where("id = ?", sp_id[i]).update_all(:is_active=>false)
# new save
newuser_ps = PlaySport.new
newuser_ps.sport_id = arr[i]
newuser_ps.is_active = true
newuser_ps.level = level[i]
newuser_ps.user_id = current_user.id
newuser_ps.save
end
end
else
(0..2).each do |i|
newuser_ps = PlaySport.new
newuser_ps.sport_id = arr[i]
newuser_ps.level = level[i]
newuser_ps.is_active = true
newuser_ps.user_id = current_user.id
newuser_ps.save
end
end
end
respond_to do |format|
end
end
【问题讨论】:
-
在
which line it is giving error???你能mention that line这里instead所有update方法 -
这是一个单一的方法?!
-
好的。我更改了我的代码 - if @user.play_sports.count != 0 (0..2).each do |i| 显示错误
-
点击更新按钮时,未发现编码错误。但我看到''这个。它不在我的控制器中。我找不到这些''。
-
这只是 ruby 认为错误所在的引号,并不意味着这些引号在您的代码中。
标签: ruby-on-rails ruby ruby-on-rails-3