#ruby-on-rails #ruby #rails-activerecord
#ruby-on-rails #ruby #rails-activerecord
Вопрос:
У меня есть следующий запрос, который выбирает *, где отображение в таблице ZIP-архивов равно столбцу в таблице users.
Это работает нормально, но как мне выбрать ДРУГОЙ столбец из таблицы Zips, чтобы распечатать его?
Zip.where(:display => @user.location)
Итак, например, в таблице users есть location
col, а в таблице zips есть столбец display
and zipcode
. Я нахожу правильную строку, сопоставляя location
от пользователей с display
в zip-архивах, но мне нужно извлечь почтовые индексы из соответствующей записи в zip-архивах…
Ответ №1:
Предполагая, что в вашей Zip
таблице есть zipcode
поле:
@zips = Zip.where(:display => @user.location)
@zips.each do |zip|
puts zip.zipcode
end
Или поместить их в массив:
zipcodes = @zips.collect{ |zip| zip.zipcode }
В представлении:
<h3>Zip Codes</h3>
<ul>
<% @zips.each do |zip| %>
<li><%= zip.zipcode %></li>
<% end %>
</ul>