Ruby on rails Rails—在视图中直接调用模型是不是很糟糕?

Ruby on rails Rails—在视图中直接调用模型是不是很糟糕?,ruby-on-rails,model-view-controller,Ruby On Rails,Model View Controller,所以我有一个搜索部分,我想能够使用在网站的任何地方。我意识到把逻辑放在视图中通常是不好的,但是我可以做类似的事情吗 = form_for User.search do |f| 或者,即使我没有修改任何内容,我也必须在控制器中添加任何类型的模型方法调用,这是绝对的语义要求吗?更好的方法是使用演示者模式,我的朋友 关于德雷珀宝石有一位伟大的铁路司机 希望这将引导你远离你所走的潜在痛苦之路 视图中的任何内容都可以被用户操纵,特别是如果他们是智能用户的话。我会把我的代码放在控制器中,然后通过视图调用它

所以我有一个搜索部分,我想能够使用在网站的任何地方。我意识到把逻辑放在视图中通常是不好的,但是我可以做类似的事情吗

= form_for User.search do |f|

或者,即使我没有修改任何内容,我也必须在控制器中添加任何类型的模型方法调用,这是绝对的语义要求吗?

更好的方法是使用演示者模式,我的朋友

关于德雷珀宝石有一位伟大的铁路司机


希望这将引导你远离你所走的潜在痛苦之路

视图中的任何内容都可以被用户操纵,特别是如果他们是智能用户的话。我会把我的代码放在控制器中,然后通过视图调用它。你能详细说明一下吗?我几乎100%确信,如果我把逻辑放在视图中,它就不能被用户操纵。比如说,你把搜索表单逻辑放在视图中,用户可以通过SQL注入等方式破解你的表单。永远不要低估你的用户。尝试使用助手方法,而不是将原始代码放入视图中。@coletrain:我不确定您从何处获得此信息,但用户不能简单地“黑客”视图表单,除非您不小心构建它-视图仅在服务器上包含和读取。在视图中进行模型调用可能不是一种非常干净的方法,但这不会使它本身容易出现任何类型的漏洞。@bwheeler96:我看到的唯一缺点是它使集成测试和维护变得更加困难。如果你愿意放弃这些问题,那就没有什么内在的问题。