Проблема с получением строки имени из запроса

Я новичок в рельсах и монгоидах, и у меня проблема с извлечением строки из запроса.

У меня есть класс Filteroption

класс Fieldoption
включает Mongoid::Document

field :name, :type => String  
field :option_id, :type => Integer

конец

и с этой записью

 
+--------------------------+------------------------------------+-----------+  
| _id                      | name                               | option_id |  
+--------------------------+------------------------------------+-----------+  
| 4c6de6a11d41c86698000002 | Request URI                        | 1         |
| 4c6de6a11d41c86698000003 | Hostname                           | 4         |

Когда я запрашиваю имя с option_id 4

foobar = Fieldoption.only(:name).where(:option_id => '4')

foobar.name должно быть «Имя хоста». Вместо этого я получаю

foobar.name
=> "Параметры поля"

Что я делаю неправильно ?

Спасибо за вашу помощь.


person DigitalArsonist    schedule 23.08.2010    source источник


Ответы (1)


Метод name уже определен в Ruby для получения имени класса. Вы должны переименовать свое поле, чтобы иметь возможность получить его содержимое, или попробуйте foobar.attributes["name"].

person Daniel O'Hara    schedule 23.08.2010
comment
› foobar.attributes[имя] не работает. Странно то, что foobar.name работает внутри шаблонного представления для Fieldoption. - person DigitalArsonist; 23.08.2010