Вы можете спросить, к какому классу он принадлежит, а затем назвать имя этого класса.
$ Post.first
=> #<Post id: 1>
$ Post.first.class
=> Post(id: integer, title: string)
$ Post.last.class.name
=> "Post"
Что меня смущает, так это то, что у вас есть @man_object
, поэтому очевидно, что объект является человеком, и это означает, чтоВы могли бы просто иметь двух помощников, предполагая, что у вас также будет женский объект:
man_select(@man_object, {...})
woman_select(@man_object, {...})
А затем ваш select_fields
def man_select(person, options)
select_tag :man, "characteristics", options
end
def woman_select(person, options)
select_tag :woman, "characteristics", options
end
Но если бы вы не знали, был ли это мужчинаили женщина:
man_select(@person, {...})
Тогда ваш select_tag:
def person_select(person, options)
if person.class.name = "Man"
select_tag :man, "characteristics", options
else
select_tag :woman, "characteristics", options
end
end