我有一个这样的代码块(这是工作版本)
@full_user_schedule[0].attributes.each do |event_name, attending|
if attending
sessions_hash.each do |id, name|
event_name = event_name.sub(name, id.to_s) if event_name.include? name
end
@user_schedule.merge!(event_name => attending)
end
end
当我尝试event_id
在sessions_hash.each
语句中设置变量时,我无法将其分配到该循环之外(收到未知变量警告)。我想知道为什么会这样,以及如何规避它。
下面是一个失败的例子(虽然日志显示变量设置正确),但我无法在创建它的循环之外访问它。
@full_user_schedule[0].attributes.each do |event_name, attending|
if attending
sessions_hash.each do |id, name|
event_id = event_name.sub(name, id.to_s) if event_name.include? name
end
@user_schedule.merge!(event_id => attending)
end
end
我试图明确地 return event_id
,但退出了循环。我不明白什么?