Ruby on Rails Controller动作是一种私有方法

时间:2012-07-07 00:27:21

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我正在

private method `new' called for Reminder:Class

应用程序跟踪是

app/controllers/reminders_controller.rb:27:in `new'

新动作如下

 def new
    @reminder = @current_user.reminders.build()
    @title = "New Reminder"
    respond_to  do |format|
      format.html # new.html.erb
      format.json { render json: @reminder }
    end
  end

提醒模型如下:

class Reminder < ActiveRecord::Base
belongs_to :user
belongs_to :assignment
attr_accessible :datetime, :sent_at, :status, :send_time

STATUSES = ["Not Sent", "Sending", "Sent", "Canceled"]

validates_presence_of :sent_at, :status, :user_id, :assignment_id 

before_save :round_tine


def round_time
  self.send_time = Time.at(t.to_i/(15*60)*(15*60))
end
end

我不知道该方法是如何隐私的。感谢您的帮助!

更新:为模型添加了一种方法。错误仍然发生。

2 个答案:

答案 0 :(得分:3)

将邮件程序类名称作为ReminderMailer而不仅仅是Reminder。这就是rails无法区分两个类的问题,它正在为邮件程序类识别新方法,该方法名为Reminder并显示错误。

答案 1 :(得分:1)

您可能在private定义之上的某处new声明。发布您reminders_controller的全部内容,或者只删除该违规行。