rails button_to current_user правильный путь

Какой путь я могу использовать для отображения current_userсобственные перечисленные продукты?

= button_to "View My Products", root_path, method: :get, class: "button"

Вместо root_path Я пытался использовать @product.user.all который не работал.

Спасибо!

редактировать:

            user GET    /users/:id(.:format)           users#show
     search_products GET    /products/search(.:format)     products#search
            products GET    /products(.:format)            products#index
                     POST   /products(.:format)            products#create
         new_product GET    /products/new(.:format)        products#new
        edit_product GET    /products/:id/edit(.:format)   products#edit
             product GET    /products/:id(.:format)        products#show
                     PATCH  /products/:id(.:format)        products#update
                     PUT    /products/:id(.:format)        products#update
                     DELETE /products/:id(.:format)        products#destroy
       welcome_index GET    /welcome/index(.:format)       welcome#index
                root GET    /                              welcome#index

и все стандартные маршруты Devise.

1 ответ

Решение

Я думаю, что вы хотите одно действие индекса контроллера продукта и связь между пользователем и продуктами

Тогда в продуктах #index action

def index
  @products = current_user.products
end

и ваша ссылка будет

= link_to 'View My Products', {controller: :products, action: :index}

Если ваше действие # index для не прошедших проверку пользователей, сделайте это действие условным, например:@products = (current_user ? current_user.products : Product.all)

Другие вопросы по тегам