我有一個窗體,通過remote => true向數據庫添加行。然後,我想將新數據追加到表格中,但無法獲取正確的視圖進行渲染。從rails中的控制器呈現部分
截至目前,它正在渲染新條目的整個show.html.erb頁面,但我想佈置一個最小版本作爲添加。有沒有一種快速的方式告訴我的控制器插入到數據庫後呈現什麼樣的視圖?我想我的渲染部分命名_newly_added.html.erb
我的控制器
def new
@task = Task.new
render :partial => "/tasks/newly_added", :locals => { :t => @task }
end
謝謝!
編輯 我想我需要的只是一個替代的「顯示」視圖。
我發現我需要改變的方法實際上是這樣的:
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。對於這個使用一個respond_to:js沒有佈局和使用特定的部分 – MrYoshiji