【问题标题】:Where to put this kind of calculation in Rails?在 Rails 中将这种计算放在哪里?
【发布时间】:2013-09-22 13:45:38
【问题描述】:

我已经开始学习 ROR 并开始创建一个简单的应用程序。

基本上,该应用程序使用今天与数据库中存储的另一个日期之间的月差进行计算。我不知道把这种代码放在哪里最方便。

当前,放置在我从数据库中的日期中减去今天的视图中:

#user.html.erb

Month difference : <%= (Date.today - @user.date_signed).to_i/30

和控制器:

 class UserController < ApplicationController
  def user
  @user = User.find(params[:id])

有没有更好的方法可以做到这一点?如果是这样怎么办?

谢谢

【问题讨论】:

    标签: ruby-on-rails model-view-controller


    【解决方案1】:

    它属于模型,因为你想把它当作用户的另一个属性来处理。

    class User < ActiveRecord::Base
      def months_since_signed
        (Date.today - self.date_signed).to_i/30
      end
    end
    

    那么,在您看来,只需调用以User 的实例为接收者的方法。

    Month difference : <%= @user.months_since_signed %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 2010-12-14
      • 2013-08-22
      相关资源
      最近更新 更多