2012-07-07 105 views
1

我越来越Ruby on Rails的控制器动作是一个私有方法

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 

我不知道该方法是如何私密的。我在这里先向您的帮助表示感谢!

更新:在模型中添加了一个方法。错误仍然发生。

+1

请发布整个控制器?并检查是否有任何其他类与名称冲突提醒模型类 – abhas 2012-07-07 04:30:43

+0

这就是问题我有一个与模型相同的类邮件。 – Mab879 2012-07-07 13:56:19

+1

将邮件程序类名称设置为ReminderMailer不只是提醒。这就是rails无法区分两个类的问题,它正在识别名称为Reminder并显示错误的邮件程序类的新方法。 – abhas 2012-07-07 17:46:12

回答

3

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

+0

谢谢! – 2014-01-12 09:03:04

1

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

+0

违规行是'@reminder = @ current_user.reminders.build()'动作的全部要点。对不起,没有说清楚。 – Mab879 2012-07-07 01:07:10

相关问题