我想在我的User对象中添加一个函数,所以我要创建一个用户控制器来执行此操作(我正在使用Devise,所以我相信这应该为现有的Devise用户对象添加一个函数)。我注意到我的rails项目中有一个名为“helpers”的文件夹,我应该将多余的功能放在那里,而不是在控制器内?该方法是启用匿名会话,这是一种开箱即用的方式。
答案 0 :(得分:4)
瘦控制器和脂肪模型。创建rails应用程序时,请尝试遵循此原则。在模型中根据需要进行逻辑和一些计算。控制器用于控制传递给视图的数据以及如何显示数据。只放置那些有助于在Helpers中显示视图的方法。例如把数字格式化的代码放在帮助器中。如果您想在控制器之间共享一些源代码而不适合模型,那么您可以创建一个库。
答案 1 :(得分:2)
如果要向User
类添加方法,请将其添加到user.rb
文件中:
class User < ActiveRecord::Base
def full_name
# logic
end
end
如果你想要一个可以在你的控制器和视图中使用的方法,那么在helpers目录中定义一个帮助器并将其添加到那里。
答案 2 :(得分:1)
瘦控制器总是更好。所以,是的,把你的控制器/视图“帮助”放在帮助文件夹中。