Я пытаюсь сгенерировать уникальный токен, используя этот учебник: http://snippets.dzone.com/posts/show/6434
Но я получаю это сообщение об ошибке при попытке:
undefined method `token=' for #<Stage:0x00000102a13aa8>
Это то, что моя модель Stageвыглядит так:
# == Schema Information
# Schema version: 20110131093541
#
# Table name: stages
#
# id :integer not null, primary key
# project_id :integer
# user_id :integer
# name :string(255)
# stage_num :integer
# created_at :datetime
# updated_at :datetime
#
class Stage < ActiveRecord::Base
belongs_to :project
#has_and_belongs_to_many :users
has_many :uploads, :dependent => :destroy, :order => 'created_at DESC'
has_many :comments, :dependent => :destroy
#this is where the token is generated for the client
def generate_client_token(length=25)
alphanumerics = ('a'..'z').to_a.concat(('A'..'Z').to_a.concat(('0'..'9').to_a))
self.token = alphanumerics.sort_by{rand}.to_s[0..length]
#Ensure uniqueness of the token..
generate_client_token unless Stage.find_by_token(self.token).nil?
end
end
На мой взгляд, я вызываю этот метод следующим образом:
<%= @stage.generate_client_token %>
Мысли?