未定义的局部变量或方法`days_till_expired'

时间:2016-06-05 01:00:20

标签: ruby-on-rails ruby

目前,我的days_till_expired模型中定义了一个名为subscriber的方法。我试图在控制器中调用它,但它似乎没有工作?我必须遗漏一些明显的东西,因为这应该是一个简单的实现。为了清楚起见,我会发布我的代码。

模型方法:

 def days_till_expired
  ((created_at + 1.year) - DateTime.now).to_i / 1.day
 end

控制器:

 def visit
   @subscriber = Subscriber.find_by_phone_number(params[:phone_number])
 if @subscriber
   @subscriber.visit =+ 1
   @subscriber.save
   flash[:notice] = "Thank You! You have #{days_till_expired} until renewal"
   redirect_to subscribers_search_path(:subscriber)
 else
  render "search"
 end
end

正如你所看到的那样,我很简单地尝试在flash注意事项中使用插值来调用方法但是我一直得到这个错误:

enter image description here

1 个答案:

答案 0 :(得分:1)

你没有打电话给这些方法,如果你的模型上有days_till_expired你忘了使用你的模型@ subscriber.days_till_expired

flash[:notice] = "Thank You! You have #{@subscriber.days_till_expired} until renewal"

如果我是你,我会尝试将该反逻辑移到模型上。

相关问题