如何解决Rails 3:在哪里编写控制器中要调用的非模型特定方法?
| 我知道这听起来像是一个愚蠢的问题,但是对于我的record
控制器中的index
方法,我不想返回record
的所有对象,因此根据登录的用户,将应用某些逻辑来确定显示哪个records
。
我将在哪里保留这样一种将用户作为参数并返回要在index方法中显示的记录数组的方法,该方法将如何调用?在控制器中?
所以就像
def index
@records = # get_records method would be called here
end
谢谢
解决方法
没有理由不能(或不应)将该逻辑放入控制器的索引方法中,例如:
def index
user_id = params[\'user\']
@records = Record.find_by_user(user_id)
end
,如果逻辑比较复杂,我建议您将其放入模型的(命名)范围内。因此,对于Rails 3,您可以这样做:
class Record < ActiveRecord::Base
scope :some_name,lambda {|user|
# apply your logic here
}
...
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。