我希望能够找出控制器动作中两个值是否相等。
def completed
@meeting = Meeting.find(params[:id])
if @meeting.day_of_meeting == @meeting.days
@meeting.update_attribute(:day_of_meeting, '1')
redirect_to :back
else
@meeting.increment!
redirect_to :back
end
end
我遇到的问题是:
if @meeting.day_of_meeting == @meeting.days
当我运行它时,似乎永远无法验证这两个字段是否相等,只是增加day_of_meeting字段。
任何帮助都将不胜感激。
更新
在模型增量中!
def increment!
update_attribute(:day_of_meeting, day_of_meeting + 1)
end
基本上,@ meeting.day_of_meeting是一个代码,当等于@ meeting.day时,我希望@ meeting.day_of_workout重置回'1'。发生的事情是@ meeting.day_of_meeting永远不会重置并继续增加。两个值都是整数。
答案 0 :(得分:2)
如果没有看到更多代码,我猜测@ meeting.day_of_meeting或@ meeting.days可能是一个字符串。
@meeting.day_of_meeting == @meeting.days.to_i
假设@ meeting.days是一个字符串,您可以转换为整数并进行比较。
答案 1 :(得分:0)
两个列表可能具有相同的内容,但顺序不同,则不完全相同。所以试试:
@meeting.day_of_meeting.sort == @meeting.days.sort