Rails中的助手与控制器

时间:2011-07-21 13:52:34

标签: ruby-on-rails devise

我想在我的User对象中添加一个函数,所以我要创建一个用户控制器来执行此操作(我正在使用Devise,所以我相信这应该为现有的Devise用户对象添加一个函数)。我注意到我的rails项目中有一个名为“helpers”的文件夹,我应该将多余的功能放在那里,而不是在控制器内?该方法是启用匿名会话,这是一种开箱即用的方式。

3 个答案:

答案 0 :(得分:4)

瘦控制器和脂肪模型。创建rails应用程序时,请尝试遵循此原则。在模型中根据需要进行逻辑和一些计算。控制器用于控制传递给视图的数据以及如何显示数据。只放置那些有助于在Helpers中显示视图的方法。例如把数字格式化的代码放在帮助器中。如果您想在控制器之间共享一些源代码而不适合模型,那么您可以创建一个库。

答案 1 :(得分:2)

如果要向User类添加方法,请将其添加到user.rb文件中:

class User < ActiveRecord::Base

 def full_name
    # logic
 end

end

如果你想要一个可以在你的控制器和视图中使用的方法,那么在helpers目录中定义一个帮助器并将其添加到那里。

答案 2 :(得分:1)

瘦控制器总是更好。所以,是的,把你的控制器/视图“帮助”放在帮助文件夹中。