私はデータベースから複数のビューのフォームを受け入れるためにdeviseを使用しようとしています。私は本質的に3つのビューの間でデバイズを行いました.1つは、以下のコードの第1段落を使い、htmlを受け入れます。しかし、私の他のビューでHTMLを使用すると、私のアプリは "2引数、期待0"または "1番目の引数はnilできない"のいずれかで中断します。私はちょっと失われました。なぜなら、HTMLがなくてもうまく動作するので、データベースから読み込みをしていることを知っているからです。何か案は?form_for deviseループでhtmlを受け付けませんか?
コードが第一ビュー上で動作しますが、(HTMLが削除されない限り)そうでない他のすべてのビュー -
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put, class: "form floating-label" }) do |f| %>
<% end %>
HTMLが削除されたときにどのように見えるかのコード(CURRENT_USERが)私は複数のページ上のコードを使用することができますそう必要です。私は上記のようなコードを作成する必要があります。
あなたの質問がスタックオーバーフローのために難しくなる瞬間 – whataboutme1
このスレッドを参考にしている人なら誰でも、devisのカスタムform_forはルートが設定されていると仮定して、あなたのdeviseコントローラを継承しているとしか動作しません。デフォルトでは、deviseはコントローラーを表示しませんが、コントローラーを生成して継承するだけで、必要な変更を追加してから、そのコントローラーに行くようにルートを指示することができます。すべての作業が完了したら、必要に応じてビュー全体でform_for構文(またはそれ以上)を使用できます。 – whataboutme1