你在哪里检查Ruby On Rails中不是模型属性的URL参数(比如page,per_page,sort_mode)?在控制器中还是在模型中?
例如,当执行更复杂的数据库查询时,您是检查参数并可能在控制器中设置默认值,然后执行例如MyModel.search(page, per_page, order, sort_mode, query)
,还是在模型内部设置验证并只传递未处理的参数MyModel.search(params)
如何将该参数报告回视图?例如,一个sort_mode参数,它应该在视图上显示一个小箭头来表示排序方向。您是检查和清理params散列并从params获取视图中的数据,还是使用自己的实例变量进行此操作?
发布于 2011-03-17 10:12:34
我倾向于清理控制器中的参数。
class ApplicationController < ActionController::Base
before_filter :sanitise_params
protected
def sanitise_params
# tidy up
# set defaults
end
end
良好的实践是,模型声明它们的接口,并由控制器以正确的方式与它们通信。这样,你就可以清楚地分离出你的层。
视图帮助器是用来帮助处理视图的。下面是作为ActionPack ActionView一部分的some examples。您可以将自己的代码放在app/helpers
中
https://stackoverflow.com/questions/5337269
复制