как сделать запрос ruby ​​на рельсах - PullRequest
1 голос
/ 16 ноября 2010

У меня есть это в контроллере

@ ads = Ad.all (: joins => 'LEFT JOIN states ON ads.state_id = states.id')

но яесть проблема, чтобы запросить таблицу состояний таблицы.есть идеи?

<% @ads.each do |ad| %>
  <tr>
    <td><%= ad.title %></td> <- title is ad field.no problem
    <td><%= ad.name %></td> <- name is states field.problem at here
  </tr>
<% end %>

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Не думаю, что это сработает, если у вас не настроены ассоциации. Если производительность не является проблемой, вы можете просто использовать ассоциацию без объединений

ad.rb

class Ad < ActiveRecord::Base
  belongs_to :state
end

state.rb

class State < ActiveRecord::Base
  has_many :ads
end

контроллер

@ads = Ad.all

вид

  <% @ads.each do |ad| %>
      <tr>
        <td><%= ad.title %></td>
        <td>
            <%= ad.state.name %>
        </td>
      </tr>
    <% end %>
0 голосов
/ 16 ноября 2010

Я думаю, вам нужно поставить это: ads.state_id = states.id вот так: #{ads.state_id = states.id}

#{ } оценит код рубина внутри. В противном случае у вас есть просто текст внутри строки.

Я не совсем уверен, в чем ваша проблема, поэтому я не совсем уверен, что это решит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...