2012-07-07 101 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

相關問題