0

Ruby on Railsアプリケーションを構築するためにRuby mineを使用しています。すべてが正常に機能しています。新しいプロジェクトを作成し、Ctrl+Alt+G を押します。ジェネレータ オプションから、コントローラを選択します。次に、コントローラーとアクションに名前を付ける必要があるウィンドウが表示されます。異なるアクションを選択すると、アクションにちなんで名付けられたコントローラーに対応する関数が作成されます。その関数名の左側にあるアイコンを押すと、extension.html.erb を持つ特定の関数のビュー ファイルが開かれます。これで問題ありません。しかし、コントローラ ダイアログ ボックスに 1 つまたは複数のアクションを追加するのを忘れたらどうなるでしょうか。次に、必要なビューと同じ名前の関数を追加する必要があると思われます。すなわち

def functionname

end

今、この関数名の左側をクリックすると。拡張子 .html.erb のファイルを作成するオプションが表示されます。これはすべて正常に機能しています。しかし、このアプリケーションをビルドして、この新しく作成されたビューにアクセスしようとすると、次のエラーが発生します`

    Routing Error
No route matches [GET] "/say_hello/sona"
Try running rake routes for more information on available routes.

そのコントローラ ウィザードを使用する以外に、どのようにコントローラにビューを追加できますか??後でビューを追加できませんか?? `

4

1 に答える 1

6

ウィザードはわかりませんが、アプリケーションで必要な URL にアクセスするには:

ルート

あなたの場合、で定義されconfig/routes.rbています:

get 'say_hello/sona', to: 'your_controller#your_action'

コントローラ

で定義app/controllers/your_controller.rb

class YourController < ApplicationController
  def your_action
  end
end

テンプレートまたはビュー

で定義されapp/views/your_controller/your_action.html.erbているため、このファイルを空のままにしておくこともできますが、作成する必要があります。

于 2013-07-22T04:53:19.223 に答える