0

アプリのコントローラー内には、2つの異なるフォルダーがあります。フォルダ内には、以下に示すように同じ名前の2つのコントローラがあります。

/controller/a/xyz_controller.rb    
/controller/b/xyz_controller.rb

上記の両方のコントローラーには、異なるモジュール名が含まれています。「/controller/a/xyz_controller.rb」のモジュール名は「 a 」であり、「/ controller / b /xyz_controller.rb 」のモジュール名は「b」です。

私のアプリの名前は「a」です。ルート.rbの中に、私はこのようなものを持っています:

get "reports/update_notes"=>"b::xyz#function"

しかし、どういうわけか、デフォルトでは「a」の「関数」を呼び出しています。

ルート.rbを介して「 b 」のコントローラーの関数を呼び出す方法は?

4

1 に答える 1

0

http://guides.rubyonrails.org/routing.html

match "reports/update_notes" => "xyz#function", :via => :get, :module => 'b'

おそらく最も透過的ですが、 get も同じように機能するはずです。パターンの一部としてモジュール名が必要な場合は、クラス スタイルの代わりにパス スタイルを使用する必要があります。

get "reports/update_notes" => "b/xyz#function"
于 2013-02-11T13:32:57.147 に答える