Я хочу иметь возможность проверять имена объектов в переменной экземпляра формы

#ruby-on-rails

#ruby-on-rails

Вопрос:

У меня есть переменная экземпляра в форме @partnership.

В зависимости от того, как вызывается эта форма, с ней связан владелец объекта или продавец. В приведенном ниже примере это было вызвано продавцом.

Я хочу проверить, какие объекты существуют в экземпляре @partnership

ie

  if @partnership.objectname== Seller 
   do something
 elsif parnership.objectname= Landlord
   do somethhing else
 end
  

Ниже приведена отладка объекта, вызванного продавцом. Кто-нибудь может указать мне правильное направление?

 --- !ruby/object:Partnership 
attributes: 
  name: 
  created_at: 
  updated_at: 
  default_partnership: false
attributes_cache: {}

new_record: true
sellers: []
  

Ответ №1:

Во-первых, это, вероятно, ошибка, когда вы писали код, но забыли @ in:

 elsif parnership.objectname= Landlord
  

Во-вторых, вместо

 @partnership.objectname== Seller
  

вы должны использовать:

 @partnership.class == Seller
  

или

 @partnership.is_a? Seller
  

Но я не понимаю, почему ты хочешь это сделать: это не то, чего ты хочешь. Партнерство — это не продавец или арендодатель, верно?
Как определяется связь между партнерством и продавцами / арендодателями? Используете ли вы полиморфизм?

Комментарии:

1. Спасибо, Уэс. Проблема, с которой я столкнулся, заключается в следующем.