0

必要: 2 段階のプロセスで編集するための 2 つのフォーム。

resources :evaluations do
  collection do
    get ':id/change', :action => 'change'

コントローラ

def change
  @evaluation = Evaluation.find(params[:id])

編集には変更アクションへのリンクがあります

<%= link_to 'Modify initial data', 'change' %>

フォームは、編集フォームタグと同じ次のタグを取得します

<form accept-charset="UTF-8" action="/evaluations/53" class="edit_evaluation" data-validate="true" id="edit_evaluation_53" method="post" novalidate="novalidate">

失敗: リードを送信してもアクションはありません。

更新属性を呼び出すにはどうすればよいですか?

1つの考えは、変更アクションを次のように導くことでした:

def update_changed_variables
   @evaluation = Evaluation.find(params[:id])
 respond_to do |format|
   if @evaluation.update_attributes(params[:evaluation])

しかし、それも失敗します。

4

2 に答える 2

0

セットアップが機能することがわかりました。

def update_changed_variables

必要ありません。というより、切なくシンプルに…

change.html.erb は単純にフォームのパーシャルを呼び出します。

<%= form_for @evaluation [...]

したがって、updates_attributes を呼び出します

私はそれが以前に実行されていなかったことを誓います。ウェブサーバーなどを再起動... |homer_simpson_moment|

于 2013-09-11T19:04:37.863 に答える