1

私はレールアプリに取り組んでおり、コントローラーを介して生成しました

rails g controller Pics index upload

しかし今、私は別のアクションを追加したいと思います

delete

Pics コントローラに削除メソッドを手動で追加してこれを行うにはどうすればよいですか?

それとも、別の世代を実行する必要がありますか。私の懸念は、手動で追加すると何かが含まれない可能性があることです (それが何であるかはわかりませんが、フードの下にあるものです)。

これは、生成されたコントローラーに新しいアクションを追加する最良の方法ですか?

4

1 に答える 1

1

手動で追加する場合は、に正しいルートがあることを確認してくださいroutes.rb。Picsコントローラー内でアクション
を作成するとします。delete

def delete
  # do stuff
end

で、このようにリソースにルートを追加する必要がありますroutes.rb。これは、リソースのメンバーに作用するリソースなのか、コレクションに作用するリソースなのかを分析することを忘れないでください。(これについて詳しくは、このガイドhttp://guides.rubyonrails.org/routing.html#adding-more-restful-actionsを参照してください)。

resource :pics do
  collection do
    post :delete
  end
end

または

resource :pics do
  member do
    post :delete
  end
end

すべてのアクションはデフォルトでrailsルーターによって処理されることを忘れないでくださいRESTFUL。このトピックに関する正確な情報については、前に示したガイドを読んでみてください。それが役に立てば幸い。

于 2012-12-20T01:35:32.450 に答える