0

在我的应用程序中,我使用 act_as_votable 对我的产品进行投票,它在 localhost 上运行良好,但在 heroku 上得到:

RoutingError (No route matches [GET] "/products/1/like"):

我的路线

resources :products do
    member do
      put "like" =>"products#upvote"
    end
    resources :previews, except: [:show, :index]
  end

产品控制器

def upvote
    @product = Product.find(params[:id])
    @product.upvote_from current_user
    redirect_to @product
  end

在我的产品展示页面

<%= link_to like_product_path(@product), method: :put do %>
          Add to Wishlist
          <% end %>

我认为这是因为 jquery 而发生的,所以我在显示页面中添加了 jquery,但问题仍然存在。任何帮助将不胜感激。

4

1 回答 1

1

您最好的选择是使用 abutton_to代替,默认情况下它会产生一个POST请求。

<%= button_to 'Add to Wishlist', like_product_path(@product), method: :put %>
于 2019-08-02T21:27:04.090 回答