如果Helper与Model交互,是否可以?
例如,我有帮助生成自定义<select>
来选择类别。
现在我在Controller中提取此<select>
的数据(使用Model,of couse),然后将其分配给View。
但还有另一种方法可以做。只需将与Model的交互放入Helper即可。它将使Controller的代码更简单,并有助于我们避免重复代码。
有什么想法吗?
答案 0 :(得分:1)
据我所见,从任何地方访问模型数据都被认为是正常的,但修改数据只能在控制器中完成(对操作起作用)。
答案 1 :(得分:1)
如果您使用此帮助程序生成HTML控件,那么您应该将帮助程序保留在模型之外。您的所有模型都应关注数据本身 - 而不是格式化方式或使用它的方式。
将模型注入帮助程序会更好的组织:这遵循依赖注入模式,并允许您执行单元测试。
答案 2 :(得分:1)
我必须说“NO”=)最好将它保留在控制器中,因为如果模型出现问题,你必须从视图中管理它......或者如果以后你想要怎么办?添加一些限制,例如:只显示用户登录时的选择或仅显示几个选项等。
我在模型上创建一个方法来检索元素列表。 Id从控制器调用该方法来管理响应(未授权,未找到等)并选择/修改相应的视图以显示信息..
但那只是我=)
祝你好运!
答案 3 :(得分:0)
助手通常用来“帮助”你做事。我认为如果你在控制器或模型中使用它们或两者都没有那么重要。