在 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 获取视图中的数据,或者您是否使用自己的实例变量?
我倾向于清理控制器中的参数。
class ApplicationController < ActionController::Base
before_filter :sanitise_params
protected
def sanitise_params
# tidy up
# set defaults
end
end
模型声明其接口的良好做法是由控制器以正确的方式与它们对话。这样你就可以清楚地分离各层。
视图助手可以帮助处理视图。这里有一些例子 http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html作为 ActionPack 的 ActionView 的一部分。你可以把你自己的放进去app/helpers
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)