我有一个控制器方法(与下面未显示的代码一起)根据消息索引的当前编号呈现消息,每次调用都会增加消息索引。数据库中有六条消息,并且前三条消息的一切正常,但是一旦索引达到3(在初始化方法中设置为零),next_message
方法将返回索引处的消息0,它继续盘旋前三个消息而不是移动到第四个消息。我对此代码的唯一目标是检索数据库中的所有6条消息并逐个显示它们。
你能解释为什么会这样吗? Puts语句显示索引肯定会增加。注意,我是一个蹩脚的业余程序员,所以我意识到代码可能是丑陋和低效的(例如,查询每次调用的每条消息似乎都很浪费)所以如果有办法在修复问题时改进它,我会永远感激。
def next_,essage
#... (some code ommitted)
session[:message_index] += 1
messages = Message.all
message_index = session[:message_index]
next_msg = messages[message_index]
render :json {:next_message => next_msg}
end