2013-12-16 7 views
0

Ruby on Rails 3Экспортировать переменную экземпляра как строку

Я экспортирую таблицу базы данных в формате xml. Я пытаюсь получить строку на основе user_id таблицы.

Итак, здесь я получаю все опросы, у которых есть user_id. Затем я получаю атрибут области из другой таблицы на основе user_id, который находится на обеих таблицах.

Это, кажется, работает хорошо, но я получаю эту

#<Reseller:0x00000003596a98> 

Вместо строки "Северная Америка"

Вот мой XLS петля»

<% @all_surveys.each do |survey| %> 
    <% @id = survey.user_id %> 
    <% @region = Reseller.find(@id) %> 
    <Row>   
    <Cell><Data ss:Type="String"><%= survey.id %></Data></Cell> 
    <Cell><Data ss:Type="String"><%= survey.user_id %></Data></Cell> 
    <Cell><Data ss:Type="String"><%= @region %></Data></Cell> 
    </Row> 
<% end %> 

Я попытался

instance_variable_get("@#{region}") 

Но я f трудно найти документацию. Спасибо,

+0

Может быть, я должен делать это в контроллере с добавлением атрибута области? – DDDD

ответ

1

Имеет ли регион Reseller регион?

Reseller.find(@id) возвратит Reseller объекта, но вы должны иметь доступ к атрибуту области этого объекта (т.е. Reseller.find(@id).region если region является атрибутом).

+0

Реселлер имеет company_region как атрибут – DDDD

+1

попробуйте 'Reseller.find (@id) .company_region' вместо' Reseller.find (@id) ' – benjaminjosephw

+0

Reseller.find (@id) .company_region работал! : D – DDDD

Смежные вопросы