因此,我正在通過一本關於Rails開發的書,現在我遇到了一個問題。我有一個「用戶」控制器有幾個動作。我在其中定義的其中一個操作是「follow」。但是,每當我嘗試使用rails helper鏈接到我的視圖時,它告訴我沒有定義該路由。這裏是我的控制器的樣子:Rails路由問題,沒有路由匹配我在控制器中定義的操作
class UsersController < ApplicationController
def follow
@user = User.find(params[:id])
if current_user.follow!(@user)
redirect_to @user, notice: "Follow successful!"
else
redirect_to @user, alert: "Error following."
end
end
我試過用兩種方法鏈接到這個。這是第一個:
<%= link_to "Follow", {action: 'follow'}, class: 'btn btn-default' %>
此產生錯誤: 「否路線匹配{:行動=>」 跟隨 「:控制器=> 」用戶「,:ID => 」2「}」
這裏是第二方式:
<%= link_to "Follow", follow_user_path(@user), class: 'btn btn-default' %>
這將產生消息:「未定義的方法`follow_user_path」爲#<#:0x007f8fb76bd570>」
甚至當我運行耙路線,路徑顯示不出來那裏,e儘管我已經在我的routes.rb文件中定義了
resources :users
我現在處於完全喪失狀態。我究竟做錯了什麼?
做到了。我的印象是,如果你在你的控制器中定義了一個動作,就會爲其生成路由。謝謝您的幫助。 –