如何在路线中设置自己的参数?

时间:2013-03-12 21:00:12

标签: ruby-on-rails ruby-on-rails-3

我正在我的文件中运行一个脚本,该脚本从数据库中生成内容并通过javascript显示它,具体取决于它是什么样的

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

但是当我键入localhost / findme / search word时我只返回一个,当我检查rails服务器时,它说LIMIT 1如何将它们全部拉出然后遍历它们?

似乎只拉第一个

在我的路线中我有

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

1 个答案:

答案 0 :(得分: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 %>

修改

虽然id列通常是主键列,但上述内容仍然只返回1个结果。也许尝试Route.where(plant_site: params[:plant_site])。我猜这个专栏是:plant_site

修改

添加文件名以指示代码应该来自beck03076的评论。