我是Ruby on Rails中的新成員。我一直試圖在控制器中定義一個方法的路由,但錯誤顯示「沒有路由匹配[GET]」。 下面是代碼Ruby on Rails中沒有匹配的路徑錯誤
donations Controller:
before_action :set_donation, only: [:show, :edit, :update, :destroy, :create_user_account]
before_action :set_campaign, only: [:new, :create_user_account]
//this is the method that i want to call
def create_user_account
end
這裏是我的路由文件
Rails.application.routes.draw do
resources :donations, except: [:new, :create]
get 'donations/create_user_account' => 'donations#create_user_account'
resources :campaigns do
resources :donations, only: [:new, :create, :create_user_account]
get 'donations/create_user_account' => 'donations#create_user_account'
end
resources :organizations
devise_for :users
root to: "campaigns#latest"
end
的路線顯示我的路由名稱,但是當我打的路線出現「不匹配」的路線錯誤。
ROUTE1: campaign_donations_create_user_account_path GET /campaigns/:campaign_id/donations/create_user_account(.:format) 捐款#create_user_account 路徑2:
donations_create_user_account_path GET /donations/create_user_account(.:format)
donations#create_user_account
我想打電話路線2,但沒有路由工作
我打電話給我的路線2這樣
http://localhost:3000/donations/create_uer_account
你做錯了,你應該閱讀路線類型。 http://stackoverflow.com/questions/3028653/difference-between-collection-route-and-member-route-in-ruby-on-rails或在URL中發送ID作爲查詢參數。 –
你正在附上一個與錯字相關的錯誤create_uer_account ... – catch22
@jenvvv編輯但同樣的錯誤,根本不是問題。 – john