[英]rails block scope
我想計算此塊中的條目。由於ruby塊變量作用域,我不使用此代碼。有什么辦法可以解決此問題?
arr_showcase.each do |entry|
@entry = ContestEntry.find_by_id(entry)
if @entry.view_in_showcase == true
@entry.view_in_showcase = false
@entry.save
entry_added_showcase += 1
else
@entry.view_in_showcase = true
@entry.save
entry_removed_showcase += 1
end
end
redirect_to :back, :notice => "#{entry_added_showcase} Desings added, #{entry_removed_showcase} Designs removed."
您在哪里聲明entry_added_showcase
和entry_removed_showcase
? 您必須在塊外初始化它們。
entry_added_showcase = entry_removed_showcase = 0
arr_showcase.each do |entry|
@entry = ContestEntry.find_by_id(entry)
if @entry.view_in_showcase == true
@entry.view_in_showcase = false
@entry.save
entry_added_showcase += 1
else
@entry.view_in_showcase = true
@entry.save
entry_removed_showcase += 1
end
end
redirect_to :back, :notice => "#{entry_added_showcase} Desings added, #{entry_removed_showcase} Designs removed."
您將需要在塊范圍之外定義變量,如下所示:
entry_added_showcase = 0
entry_removed_showcase = 0
arr_showcase.each do |entry|
@entry = ContestEntry.find_by_id(entry)
if @entry.view_in_showcase == true
@entry.view_in_showcase = false
@entry.save
entry_added_showcase += 1
else
@entry.view_in_showcase = true
@entry.save
entry_removed_showcase += 1
end
end
redirect_to :back, :notice => "#{entry_added_showcase} Desings added, #{entry_removed_showcase} Designs removed."
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.