私は、リモート=>真でDBに行を追加するフォームを持っています。新しいデータをテーブルに追加したいのですが、レンダリングするための正しいビューを取得できません。コントローラから部分的にレンダリングする
今のところ、新しいエントリのshow.html.erbページ全体がレンダリングされていますが、レイアウトとして最低限のバージョンをaとして追加したいと考えています。 dbに挿入した後にレンダリングするビューをコントローラに知らせる簡単な方法はありますか?私は
マイコントローラー
def new
@task = Task.new
render :partial => "/tasks/newly_added", :locals => { :t => @task }
end
おかげ_newly_added.html.erbという名前の私の部分をレンダリングしたいです!
EDIT 私が必要とするのは、代わりの「ショー」ビューです。
は私が変更するために必要な方法は、実際にこのことがわかった:def create
@task = Task.new(params[:task])
respond_to do |format|
if @task.save
format.html { redirect_to @task, notice: 'Task was successfully created.' }
format.json { render json: @task, status: :created, location: @task }
else
format.html { render action: "new" }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
end
は、私はちょうど代替ショーのビューを作成し、そのビューをredirect_toするためにこれを伝える必要があります。
'tr'という行の一部だけを持ち、その中に新しいオブジェクトをレンダリングすることができます。次に、Ajax呼び出しの応答データを取得し、テーブルに生成されたhtmlを配置するだけです。このレスポンスを使用するには、レイアウトを持たずに特定の部分を使用する – MrYoshiji