2013-05-16 2 views
-1

Я следую одной книжной проворной веб-разработке с рельсами 4-го издания, и я завершил большую часть этой части, теперь хочу что-то изменить. Прежде всего позвольте мне показать вам, что я до сих порСсылка на действие контроллера, у которого нет модели, не работающей

Products (controller, model, view) 
Store (controller & view) 
Cart (controller , model , view) 
Line items (controller , model view) 

Теперь, как вы можете видеть продукт может иметь индекс, шоу, создавать и т.д., и я могу получить доступ к продуктам, как : {http://localhost:3000/products/2}

в моем файле маршрута я поставил мой корень store#index

root :to => 'store#index', :as=>'store' 

и на магазине я следующий

class StoreController < ApplicationController 
    def index 
    @products=Product.all 
    end 
end 

Я просто хочу получить доступ к продуктам и показать один отдельный продукт с этого контроллера. Я попробовал

<%= link_to "Show", store %> 

но он не работает. Пожалуйста, помните, что у меня нет модели для магазина.

+0

«Я просто хочу, чтобы получить доступ к продуктам и показать один отдельный продукт от этого контроллера "<- Какой _индивидуальный_ продукт вы хотите показать? Этот последний код «erb» полностью ошибочен. – kiddorails

+0

Определите «не работает». Что на самом деле происходит в сравнении с тем, что вы ожидаете. Опубликуйте сообщения об ошибках, которые вы получаете. –

ответ

1

Вы должны указать свой контроллер и метод:

link_to "Show", :controller => "store", :action => "index" 
1

Почему бы вам не использовать:

<%= link_to "Show", root_path %> 

Поскольку вы использовали, как: в маршрутах, вы также можете использовать:

<%= link_to "Show", store_path %> 
0

Если вы хотите отобразить индекс магазина, вы должны создать для него маршрут:

get '/store', :to => "store#index", :as => "store" 

И тогда вы можете создать ссылку:

<%= link_to "Show", store_path %> 

Вам не нужна модель для создания маршрутов, маршруты будут перенаправлять на выбранное действие

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