【问题标题】:Rails, calling model method from controllerRails,从控制器调用模型方法
【发布时间】:2014-10-17 09:00:33
【问题描述】:

对 Rails 有点陌生,但简单来说,我有一个计算日期差的模型方法:

def days_diff
  (end_date.to_date - start_date.to_date).to_i + 1
end

我希望能够在我的控制器中使用此值/方法来循环表单字段 x 次。如何从控制器调用这个方法来使用这个变量?

提前致谢!

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

假设您的模型名为 ModelName。在您的控制器方法中,您将拥有:

def controller_method
  @model_name = ModelName.find(params[:id]) # or however you obtain your model
  x = @model_name.days_diff
  x.times do |index|
    # call your loop stuff here
  end
end

【讨论】:

    【解决方案2】:

    尝试将模型中的方法定义为

    self.days_diff 
    

    然后在控制器中调用它为

    model_name.days_diff
    

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多