0

私はレールに比較的慣れていないため、これに対する答えを見つけることができませんでした。対応するビューを持つコントローラーを追加しました。私が行くとき

root/order_build/show?build=1

パスが見つからないというルーティング エラーが表示されます。これは、そのアドレスのリンクをクリックしたときに発生します。エラーページにアクセスしてページを手動で更新すると、機能します。なぜこれが起こっているのでしょうか?

class OrderBuildController < ApplicationController
  def show
     @build= Build.find(request.GET["build"])

  end

  def order
  end

  def index
  end
end

ここに私のルーティングファイルがあります

ProjectD::Application.routes.draw do
  get "order_build/show"

  get "order_build/order"

  get "order_build/index"

  get "home/index"

  #root :to => "home#index"
  root :controller => 'home', :action => :index
  resources :users, :user_sessions
  match 'login' => 'user_sessions#new', :as => :login
  match 'logout' => 'user_sessions#destroy', :as => :logout
  resources :sessions

  resources :providers

  resources :build_prices


  resources :products do
    resources :product_images
  end

  resources :product_tags_products

  resources :product_tags

  resources :product_images

  resources :orders

  resources :order_statuses

  resources :build_prices

  resources :builds do
    resources :build_prices
  end


  resources :build_statuses

  resources :account_types
end
4

1 に答える 1

2

ルートを対応するコントローラーに関連付ける必要があります

したがって、代わりに:

get "order_build/show"

これを行います:

match "/order_build/show" => "order_build#show"

このようにして、 /order_build/show ルートを order_build コントローラーの show メソッドに関連付けます。

于 2013-04-03T17:44:59.767 に答える