【发布时间】:2011-07-23 23:46:08
【问题描述】:
我刚开始使用 Rails,我知道这一定是我做错了一些简单的事情,但我这辈子都想不通。
我试图在我的控制器中为一个名为“shorten”的“post”定义一个简单的方法,它将返回我传递给它的任何字符串的缩短版本。在我的 posts_controller.rb 中,我放了以下内容;
def shorten(theString, length = 50)
if theString.length >= length
shortened = theString[0, length]
else
theString
end
end
试图从我的视图中调用它会给我一个未定义的方法错误。我在帖子的一个实例中调用它,所以我认为我不需要 self.shorten。我继续尝试将 self 添加到方法定义中,但它仍然不起作用。
【问题讨论】:
-
您不能从视图调用控制器,您正在寻找的可能是视图辅助方法。查找一个名为 posts_helper.rb 的文件并将此方法添加到其中,这样您可以通过以下方式调用它:
-
啊,谢谢。我没有意识到我需要从缩短中删除“帖子”。这对于将我的方法拆分为类意味着什么?
标签: ruby-on-rails ruby