12

これはおそらく初心者の質問だと思いますが、既存のコントローラーのコマンドラインから新しいアクション (コントローラーと関連ビューのメソッド) を作成することは可能ですか?

たとえば、「Products」という名前のコントローラーが既にあります。実行できますか:

rails g controller products [new_action]

そして、レールは次を挿入します:

def [new_action]

end

製品コントローラに移動し、views/products/ ディレクトリに「[new_action].html.erb」という新しいファイルを作成しますか? 私はすでにこれをグーグルで調べましたが、満足のいく答えは返されませんでした。また、先に進んで試してみますが、現在のアプリの開発はかなり進んでおり、何も台無しにしたくありません.

4

3 に答える 3

17

100% 自動化された方法でこれを行うことはできないと確信しています。その理由は、Rails はルートやコントローラーで何を行ったかを認識していないためです。これらの既存のファイルを更新する方法を知るには、何らかのロジックが必要です。最善の策は、新しいアクションを手動で追加することです。新しいメソッドをコントローラーに追加し、ルート ファイルを更新して、ビューを追加します。せいぜい1分くらいでしょうか。また、バージョン コントローラーを使用していない場合 (質問が回避された場合)、何かが自動的に上書きされることを心配する必要はありません。

于 2012-08-12T14:25:22.990 に答える
0

Rails は、ニーズに合わせて調整できるカスタム ジェネレーターを作成する可能性を提供します (ただし、これはより高度なテーマです)。

より詳しい情報:

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

于 2015-10-23T07:48:36.437 に答える