我正在使用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'
定義,但我感覺這個問題是不是路線問題更深。如何調整我的表單定義。有沒有什麼辦法可以在創建和更新時使用相同的部分,如果是這樣,我需要對上述做些什麼調整?
解決這個問題的最簡單方法是生成一個腳手架。腳手架將爲您提供默認視圖,包括用於創建和編輯操作的部分表單。 – hashrocket