2011-07-20 36 views
0

在RoR中完成簡單任務時遇到了問題。我只想讓用戶填寫表單並單擊「下一步」而不將其寫入數據庫,在下一頁中,我將讓用戶單擊「提交」,將其寫入的位置DB。RoR以不寫入數據庫的形式存儲數據

有人可以幫助我理解HTTP動詞GET,POST等,以及如何將它集成到我的控制器?我不確定是否需要更改form_for代碼中的代碼。

我有這樣的事情:

<%= form_for(@trek) do |t| %> 
. 
. 
<%= t.submit "Create Trek" %> 
</div> 
<% end %> 

感謝球員......所有的幫助表示讚賞這傢伙努力學習回報率:/

編輯...以下是「控制器行動創造','新'和'審查'。我希望「審查」行動成爲他們可以審查然後提交數據的地方。

def new 
    @trek = Trek.new 
    @title = "Share Adventures with Friends" 
end 

def create 
    @trek = Trek.new(params[:trek]) 
    if @trek.save 
    flash[:success] = "Congrats!" 
    render 'review' 
else 
    @title = "Share Adventures with Friends" 
    render 'new' 
end 
end 

def review 
    @trek = Trek.find(params[:id]) 
end 
+0

這一切通過控制器來處理,所以發佈有關控制器代碼會比視圖 –

+0

@Jamie皇更有幫助 - 感謝...加入以上控制器代碼 – pruett

回答

1

review,你想拉從數據庫中一些你特別不希望在數據庫中(因爲你還沒有保存它,它是不是在數據庫中) 。你可能就要是什麼:

def review 
    @trek = Trek.new(params[:trek]) 
end 

您還需要修改form_for有假設你想要的形式提交到review而不是向create

你不這樣做:

<%= form_for @trek, :url => { :action => :review } do |t| %> 
. 
. 
<%= t.submit "Create Trek" %> 
</div> 
<% end %> 
+0

剛剛編輯 - 請參閱上文。 –

+0

啊。謝謝...我會給這個旋轉 – pruett

相關問題