Rails 瘦控制器,胖模型 - 需要更多帮助来实现它

发布于 2025-01-05 20:15:22 字数 263 浏览 1 评论 0原文

我正在努力让我的控制器更瘦。为了实现这一目标,我的大部分努力都花在构建named_scopes等上。

这种代码是否应该在模型中?如果是,如何?

def show
  ### params[:date] = {"month"=>"2", "year"=>"2012"}
  @date = Time.parse(params[:date][:month] + '/' + params[:date][:year])
  ...
end

I'm trying to make my controllers skinnier. To achieve this, most of my efforts went on building named_scopes, etc.

Should this kind of code be in the model, and if so, how?

def show
  ### params[:date] = {"month"=>"2", "year"=>"2012"}
  @date = Time.parse(params[:date][:month] + '/' + params[:date][:year])
  ...
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘和柠 2025-01-12 20:15:22

我认为这是最薄的,但如果您可以将此时间解析器放入辅助方法中,它将更加优雅和可重用。

** 也可以从控制器调用助手。 是这样的

def time_parser(month, year)
  Time.parse(month + '/' + year)
end

在你的助手中和你的控制器中

def show
  ### params[:date] = {"month"=>"2", "year"=>"2012"}
  @date = time_parser(params[:date][:month],params[:date][:year])
  ...
end

I think this is the thinnest you could be, but it would be more elegant and re-usable if you can get this time parser in to a helper methods.

** helpers can be called from controllers as well. Something like this in your helper:

def time_parser(month, year)
  Time.parse(month + '/' + year)
end

and in your controller

def show
  ### params[:date] = {"month"=>"2", "year"=>"2012"}
  @date = time_parser(params[:date][:month],params[:date][:year])
  ...
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文