Ruby on rails 视图中显示的控制器中的循环方法的结果
我有一个控制器Ruby on rails 视图中显示的控制器中的循环方法的结果,ruby-on-rails,ruby,loops,Ruby On Rails,Ruby,Loops,我有一个控制器TestController class TestController < ApplicationController def test_method for i in 1..5 do <anything> end end end 有人能告诉我这是为什么吗?谢谢 因为1..5中i的返回1..5 如果您想在1..5上执行某些操作,那么您应该将该方法设置为帮助器,在视图中执行1..5,或者执行与您正在寻找的视图层功能更密切相关
TestController
class TestController < ApplicationController
def test_method
for i in 1..5 do
<anything>
end
end
end
有人能告诉我这是为什么吗?谢谢 因为1..5中i的
返回1..5
如果您想在1..5
上执行某些操作,那么您应该将该方法设置为帮助器,在视图中执行1..5
,或者执行与您正在寻找的视图层功能更密切相关的操作
IMO视图层操作不应回调首先呈现视图模板的控制器;这很违反直觉。最好的方法取决于你实际上在做什么
让我修正一下。我没有发现调用控制器本质上是错误的,我只是不认为调用的结果应该是对渲染本身做一些事情。获取一个值、进行计算等都不那么繁重,尽管我一般认为功能仍然属于其他地方
不过,我在这里可能是少数。因为对于1..5中的I
返回1..5
如果您想在1..5
上执行某些操作,那么您应该将该方法设置为帮助器,在视图中执行1..5
,或者执行与您正在寻找的视图层功能更密切相关的操作
IMO视图层操作不应回调首先呈现视图模板的控制器;这很违反直觉。最好的方法取决于你实际上在做什么
让我修正一下。我没有发现调用控制器本质上是错误的,我只是不认为调用的结果应该是对渲染本身做一些事情。获取一个值、进行计算等都不那么繁重,尽管我一般认为功能仍然属于其他地方
不过,我在这里可能是少数。因为您告诉ERB使用
打印表达式的结果
如果希望在不打印结果的情况下执行表达式,请去掉等号
<% my_expression %>
因为您告诉ERB使用
打印表达式的结果
如果希望在不打印结果的情况下执行表达式,请去掉等号
<% my_expression %>
+0.5明确提及我的暗示。但最后总结一下。明确提及我暗示的内容+0.5。但现在我们来总结一下。见下面的答案。值得思考的是:去掉括号,只需编写控制器。测试方法
。括号不是必需的,事实上是误导性的,因为如果你把任何东西放进去,你会得到一个参数错误。这是ruby的一个特点,当你来自另一种语言时,一开始很奇怪,但你会习惯的。Ruby的一些功能和表现力在于,不存在属性和方法,点表示法中的一切都是方法调用。你越是感到舒适,你就越能好好利用它:)见下面的答案。值得思考的是:去掉括号,只需编写控制器。测试方法
。括号不是必需的,事实上是误导性的,因为如果你把任何东西放进去,你会得到一个参数错误。这是ruby的一个特点,当你来自另一种语言时,一开始很奇怪,但你会习惯的。Ruby的一些功能和表现力在于,不存在属性和方法,点表示法中的一切都是方法调用。你越是感到舒适,你就越能好好利用它:)
<% my_expression %>