Rails,从控制器调用模型方法

时间:2014-10-16 23:20:47

标签: ruby-on-rails ruby

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

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

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

提前致谢!

2 个答案:

答案 0 :(得分:0)

假设您的模型名为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

答案 1 :(得分:0)

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

self.days_diff 

然后在控制器中将其称为

model_name.days_diff