я получаю следующее сообщение об ошибке, когда я звоню ContactUser.new:Ошибка синтаксиса на бестабличные модели
contact_user.rb:13: syntax error, unexpected ')', expecting '='
contact_user.rb:19: syntax error, unexpected kEND, expecting $end
Обычно ошибка, как это довольно очевидно, но я не могу показаться, чтобы определить причину. Любая помощь будет оценена по достоинству.
class ContactUser < ActiveRecord::Base
include Tableless
column :name, :string
column :email, :string
column :category, :string
column :message, :text
column :recipient, :string
validates_presence_of :name, :email, :category, :message, :recipient
def self.create_from_params(params={}, recipient)
params[:message].encode!('US-ASCII', :undef => :replace) # re-encode message in US ASCII to ensure mailer works with it
ContactUser.create(:name => params[:name], :email => params[:email], :category => params[:category], :message => params[:message], :recipient => recipient)
end
end
module Tableless
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def columns() @columns ||= []; end
def column(name, sql_type=nil, default=nil, null=true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
end
end
def save(validate=true)
validate ? valid? : true
end
end
Хммм ... даже этот метод относится к классу рубинов, жалуется? Я просто вызываю ContactUser.new – keruilin
@keruilin: Синтаксическая ошибка является синтаксической ошибкой. Файл должен быть проанализирован, прежде чем вы сможете что-либо с ним сделать, вы не можете называть 'ContactUser.new' до тех пор, пока класс' ContactUser' не будет проанализирован. –
hah, я слышу, что я ... нет смысла спорить с переводчиком :) – keruilin