从特定视图调用时,无法在辅助方法中设置局部变量

时间:2012-12-21 16:25:46

标签: ruby ruby-on-rails-3

看来,当我从其中一个视图调用辅助方法时,我无法设置任何新的局部变量。名字没关系 - 我设定的一切都是零。

从大多数观点来看,一切都很好:

editable = true
html << 'Editable: ' + editable.to_s

输出Editable: true

但是,从我的一个部分中,输出为Editable:,表示为零。

我试图找出这个特定视图文件的不同之处 - 发布大量文件对任何人都无济于事。

有了这些信息(我知道它不是很多),谁能告诉我为什么我可能无法在辅助方法中设置局部变量?

1 个答案:

答案 0 :(得分:0)

这对我来说是一个“愚蠢的错误”,但我不能完全责备自己。 Rails表现得非常非常

editable = true来自我的代码中的这一行:

target_str == '#overview' ? target_str = '#section' : #nothing

我知道这很奇怪。没有:我收到错误。我把这条线改成了

target_str = '#section' if target_str == '#overview'

它应该做同样的事情IMO,但当然不是。尽管如果是1行,它还包括下一个editable = true的陈述。这就解释了为什么它只发生在我的一个观点中 - 唯一一个声明评估为真的观点。