2011-07-20 4 views
0

私は本当にRoRで簡単な作業を達成するのに苦労しています。フォームからDBに書き込むのではなく、フォームに入力して「次へ」をクリックしてDBに書き込まないでください。次のページで、ユーザーに「送信」をクリックして書き込み先をクリックさせますDB。RoR DBに書き込むことなくフォームにデータを保存

HTTP動詞GET、POSTなどを理解して、それを自分のコントローラに統合する方法を教えてもらえますか? form_forタグのコードを変更する必要があるかどうかはわかりません。

私はこのようなものがあります:

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

みんなありがとう...すべてのヘルプはRoRの学ぶしようとしているこの男のために高く評価されています。以下の.../

EDIT」をするためのコントローラのアクションです「作成」、「新規」、および「レビュー」が含まれます。私は、「レビュー」アクションをレビューしてデータを提出できる場所にしたかったのです。 review

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

、あなたは、具体的データベースになりたくない(とあなたはまだそれを保存していないことから、それがデータベースに存在しない)、そのデータベースから何かを引くしようとしています。あなたはおそらく代わりに欲しいのはこれです:

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

また、あなたはそのフォームがcreateに代わりのreviewに提出したいと仮定するとそこform_forを変更する必要があります。

あなたはこのように行うのです:

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

です。上記を参照してください。 –

+0

ああ。ありがとう...私はこれを渦巻きにするよ – pruett