Как показать информацию о конкретном пиве внутри beercase - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть приложение, в котором есть модели пива, beercase и выпивки. Пиво внутри beercase может быть ассорти.

Я немного изо всех сил пытаюсь показать информацию о конкретном пиве внутри пивного ящика. В настоящее время я перечислил все виды пива в бокале пьющего, поэтому у меня есть список частичного _beerlist пива:

<h1>beer you added</h1>
<% @drinker.beercase_line_items.each do |beer|%>
<p><%= link_to beer.beer.name, specificbeer_drinker_drinker_beercase_pages_path(@drinker) %></p>
<%end%>

Я пытался сделать это, но

<h1>beer you added</h1>
<% @drinker.beercase_line_items.each do |beer|%>
<p><%= link_to beer.beer.name, specificbeer_drinker_drinker_beercase_pages_path(@drinker,beer) %></p>
<%end%>

дает мне beer.20 в середине URL , а не beer/20, который я хотел, чтобы он произвел. Я правильно это делаю?

маршруты

resources :drinker do
    resources :pages do
        collection do
            get :beercaselist # Name of beercase that can be added example:extrabucket-beercase
            get :beercase # Show the beercase information and it has a link to add beer
        end
    end
        resources :drinker_beercase # Controller to add what beercase that the drinker added
            resources :drinker_beercase_pages do # Static page controller
                collection do
                    get :beerlist # Show the beerlist
                    get :specificbeer # Show the specificbeer
                end
            end
        resources :beercase_line_items # Controller to add what beer and what beercase
end

1 Ответ

0 голосов
/ 01 апреля 2012

Хорошо, так что терпите меня, я не думаю, что полностью понимаю ваши маршруты, но я думаю, что это может быть вашей проблемой:

Ваш specificbeer_drinker_drinker_beercase_pages маршрут выглядит следующим образом:

/drinker/:drinker_id/drinker_beercase_pages/specificbeer(.:format)

В нем есть только параметр :drinker_id.Этот маршрут предназначен для отображения списка конкретных сортов пива, а не отдельного конкретного пива.Если вы измените свой файл маршрутов так, чтобы он выглядел следующим образом:

resources :drinker_beercase # controller to add what beercase that the drinker added 
  resources :drinker_beercase_pages do #static page controller
    collection do
      get :beerlist # show the beerlist
    end
    member do
      get :specificbeer # show the specificbeer
    end
  end
end

Тогда specificbeer_drinker_drinker_beercase_page приведет к этому URL:

/drinker/:drinker_id/drinker_beercase_pages/:id/specificbeer(.:format)

Я точно не уверен, что это выидет, но, надеюсь, это поможет вам в правильном направлении.

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