2014-01-21 3 views
0

Когда я запускаю свое приложение, я получаю сообщение об ошибке: неопределенная локальная переменная или метод `signup 'для #, но я не уверен, почему это происходит. Согласно приведенному ниже коду, регистрация - это новый класс, который я определил.Неопределенная ошибка метода, но мой метод определен?

Благодарим за помощь! Код

Контроллер: Код

class SignupsController < ApplicationController 

def new 
    @signup = Signup.new 
end 

def create 
    @signup = Signup.new(signup_params) 
    if @signup.save 
     signup.add_subscrip 
    else 
     redirect_to new_signup_path 
    end 
end 

end 

Модель:

class Signup < ActiveRecord::Base 

validates :email, presence: true, format: { with: /\A[\w+\-.][email protected][a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i } 
validates :name, presence: true, length: { maximum: 50 } 

def add_subscrip 
    connection = GoogleDrive.login(ENV['g_username'], ENV['g_password']) 
    ss = connection.spreadsheet_by_title(ENV['spreadsheet_title']) 
    ws = ss.worksheets[0] 
    row = 3 + ws.num_rows 
    ws[row, 1] = self.name 
    ws[row, 2] = Time.new 
    ws[row, 3] = self.email 
    ws.save 
end 

end 
+0

Пожалуйста, дайте трассировку стека ошибки – dostrander

ответ

0

В ваш метод создания

def create 
    @signup = Signup.new(signup_params) 
    if @signup.save 
     signup.add_subscrip 
    else 
     redirect_to new_signup_path 
    end 
end 

Мой смысл состоит в том, что

signup.add_subscrip 

должен быть

@signup.add_subscrip 
+0

ARG другая глупая ошибка с моей стороны ... спасибо так много! – james

+0

LOL! Не беспокойтесь, мужик. Сделать их ВСЕ время сам :) –

Смежные вопросы