2013-03-12 5 views
0

Я бег сценария внутри моего файла, который генерирует контент из базы данных и отображает его через JavaScript в зависимости от того, Что вытащил он идет, как этогоКак установить собственный параметр в маршрутах?

<% Route.find(params[:plant_site]) do |route| %>

Но когда я печатаю LOCALHOST/FindMe/слово для поиска Я только получаю его, чтобы вернуть его, и когда я проверяю сервер rails, он говорит LIMIT 1, как я могу их вытащить, а затем перебирать через них?

Кажется, только тянуть первый

В моих маршрутов я имею

match '/findme/:plant_site' => 'Locates#show'

ответ

0
Route.find(params[:plant_site]) 

возвращает первый элемент был найден. Попробуйте это,

# /app/controllers/the_controller.rb 

def the_action 
    @routes = Route.where(id: params[:plant_site]).all 
end 


# /app/views/the_controller/the_action.html.erb 

<% @routes.each do |route| %> 
    <%= ... %> 
<% end %> 

EDIT:

Хотя id колонка обычно будет столбец первичного ключа, так что выше будет возвращать только один результат. Попробуйте Route.where(plant_site: params[:plant_site]). Я предполагаю, что столбец :plant_site.

EDIT:

имена файлов Добавленные указать, где код должен идти от комментариев beck03076-х годов.

+0

Как вы определили id :? – Datsik

+0

Потому что 'Route.find (...)' в вопросе найдет 'id', поэтому я предположил, что столбец будет' id'. Просто измените 'id:' на правильное имя столбца. Я также добавил немного больше информации к моему ответу. – Sam

+0

oh ok, это сработало большое спасибо. Я дам вам чек, как только смогу тоже. Итак, Route.where найдет все в столбце plant: site с параметром: plant_site? – Datsik

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