Rails下拉/选择具有单个参数的位置对象

时间:2017-07-27 08:01:23

标签: ruby-on-rails-5

我的方案是在主页上我要点击下拉切换/选择。在该切换中,我希望它显示Location个对象的列表。但是我希望传递每个params不同的个体Location。我的目标是使用下拉列表切换视图中的位置信息。问题是现在我很难将位置编码到这个下拉列表中。但是我在另一个页面上创建Location个对象。 我希望这些index.html.erb **I erased the dropdown code to simplify things.** <li><%= link_to "#{@location1}", {:location1 => "location1"}%></li> <li><%= link_to "#{@location2}", {:location2=> "location2"}%></li> home_controller.rb if params[:location1] @current_location = Location.last @myreviews = Review.where("location_id = ?", @current_location.id).order('created_at asc') end if params[:location2] @current_location = Location.first @myreviews = Review.where("location_id = ?", @current_location.id).order('created_at asc') end 对象填充主页上的下拉列表,但允许用户选择传递参数来更改视图。这将允许无限数量的位置。什么是实现这一目标的好方法。

age = input('Enter your age:')
print('Try again when you are born!') if age<0 else ("You've already turned 100!") if age>=100 else ("You will be 100 in " + str(100-age) + " years!")

1 个答案:

答案 0 :(得分:0)

<强>解

以下是我最终解决问题的方法。

查看

  <ul class="dropdown-menu loc-drop scrollable-menu" role="menu" aria-labelledby="menu1">
            <% @locations.each do |u| %>
              <li><%= link_to u.name, :params => {:loc => u.id} %></li>
            <% end %>
          </ul>
        </ul>

控制器

   @locations = Location.all
  if params[:loc]
      @chosen_location = Location.where('id = ?', params[:loc]).pluck(:id).first
  end

此时我使用@chosen_location显示名称和地址等详细信息。