У меня есть пользовательская таблица, которая имеет набор атрибутов, которые я могу вызвать с помощью метода (это было сгенерировано devise):
user.name
Однако я создал другую таблицу, как пользователь has_one server.Они связаны магией внешнего ключа рельсов.Я хочу иметь возможность вызывать методы, как я делаю с пользовательской таблицей, используя методы, но она всегда выдает эту ошибку при попытке вызвать user.server.created_at
NoMethodError: undefined method `created_at' for #<ActiveRecord::Relation:0x000001036e5a38>
Затем я попытался сделать это:
user.server[:created_at]
И это вызвало эту ошибку:
Typerror: can't convert Symbol into Integer
Я слышал, что attr_accessor может быть подходящим для создания методов, но я не совсем уверен, с чего начать использовать его с Rails,и если это даже было бы хорошей идеей.
РЕДАКТИРОВАТЬ:
Я пытаюсь в конечном итоге что-то вроде этого:
time_left = (Time.now.to_i - current_server[:created_at].to_i)
За исключением правильного синтаксиса.Created_at существует и пишется с правильным временем.
Модель пользователя:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :server
# Setup accessible (or protected) attributes for your model
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
Модель сервера:
class Server < ActiveRecord::Base
belongs_to :user
end
Спасибо!