Zar*_*doz 9 validation parameters ruby-on-rails
你在哪里检查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获取视图中的数据,或者你是否使用自己的实例变量?
我倾向于清理控制器中的params.
class ApplicationController < ActionController::Base
before_filter :sanitise_params
protected
def sanitise_params
# tidy up
# set defaults
end
end
Run Code Online (Sandbox Code Playgroud)
模型声明其界面的良好实践,并由控制器以正确的方式与它们对话.这样,您就可以清楚地分离各个层.
查看帮助程序可以帮助查看视图.以下是ActionPack ActionView的一部分示例.你可以把自己放进去app/helpers