我有三個html頁面。渲染頁面並傳遞參數
- 在第一頁,我查看數據列表。
- 在第二頁,我查看列表中的特定元素的數據。
- 在的第三頁面,用戶可以編輯列表的特定元素的數據。
當用戶提交「表單」時,如何在第二頁中重定向用戶?我試過這樣:
render :action => "show_details",:id=>params[:id]
它的工作原理。鏈接是正確的。但是,如果我不刷新頁面,頁面不會打開。
更新我
我寫我的代碼,這個動作在報告控制器:
def setFixed
rs=Report.find(params[:id])
rs.state ="1"
rs.save
render :action => "show_details",:id=>params[:id]
end
UPDATE II 報告控制器代碼:
class ReportsController < ApplicationController
before_filter :authenticate_user, :only => [:index,:show,:show_details,:new]
def stateDialog
render :stateDialog, :current_state=>params[:current_state]
end
def setFixed
rs=Report.find(params[:id])
rs.state ="1"
rs.save
render :action=>"show_details",:id=>params[:id]
end
def setNotFixed
rs=Report.find(params[:id])
rs.state ="0"
rs.save
render :action=>"show_details",:id=>params[:id]
end
def edit
@report=Report.find(params[:id])
end
def update
@report = Report.find(params[:id])
if @report.update_attributes(params[:report])
flash[:notice]=''
render :action=>"show_details",:id=>params[:id]
else
flash[:notice]=''
render :action=>"show_details",:id=>params[:id]
end
end
def deleteDialog
render "deleteDialog"
end
def focus_maps
render "focus_maps"
end
def delete
Report.find(params[:id]).destroy
render "show"
end
def index
@report=Report.new
end
def logged
render "new"
end
def show
render params[:page]
end
def new
@report=Report.new
end
def show_details
render "show_details"
end
def create
@report=Report.new(params[:report])
if @report.save
flash[:notice]='Segnalazione avvenuta!'
else
flash[:notice]='Impossibile sottoporre la segnalazione!'
end
render "show"
end
end
你去哪裏在控制器寫了這個代碼或查看? –
你能顯示你的控制器代碼嗎? –
我在控制器中寫這段代碼,我更新了我的文章,主要細節。 –