私はRails 5を使用しています。あまりにも多くのコードを複製しないように、オブジェクトの作成と更新の両方に同じフォームを使用したいと思います。私は、コントローラの...Railsでは、オブジェクトの作成と更新の両方に同じフォームを使用するにはどうすればよいですか?
def create
@user_notification = UserNotification.new(user_notification_params)
...
end
および更新するための更新方法を作成するためのメソッドを作成し提出するフォームをしたいと思います...
def update
...
end
私が作成するため正常に動作します。このフォームを、持っています...
<%= form_for @user_notification, :url => user_notifications_path do |f| %>
<%= f.hidden_field :id %>
...
<div class="field">
<%= f.label :price, 'Price' %> <span class="required">*</span> <br>
<%= f.text_field :price, :size => 30 %>
</div>
...
それが更新に来るとき、私は私の更新要求を提出する時にこのエラーが出る...
No route matches [PATCH] "/user_notifications"
私のconfig/routes.rbをファイル
resources 'user_notifications'
でこれを定義している。しかし、私はこの問題は、ルートの問題よりも深い感じます。フォーム定義を調整するにはどうしたらいいですか?作成と更新の両方に同じ部分を使用する方法はありますか?そうであれば、上記にどのような調整が必要ですか?必ずファイル名の前
にし、中に_を追加してください:あなたがここにrails render guilde を支援するためのレンダリングに使用できる
これを理解する最も簡単な方法は、足場を生成することです。足場は、作成アクションと編集アクションの両方で使用する部分的なフォームを含む、デフォルトのビューを提供します。 – hashrocket