我有一个控制器方法(连同下面未显示的代码)根据消息索引的当前编号呈现消息,每次调用都会递增。数据库中有 6 条消息,前 3 条消息一切正常,但是一旦索引达到 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