2012-03-24 19 views
0

モデルの作成ページを表示する前に、ユーザーはいくつかの条件を受け入れる必要があります。以下のようなワークフローは次のようになります。 - >用語ページにもたらし、移動する前に受け入れなければならない -作成前の条件を受け入れるレール

ユーザーは「モデルを作成」​​をクリック>モデル作成ページ

ユーザーをコピーする場合作成ページへのURL、用語ページにリダイレクトする必要があります。

これについては、どのような方法が最適ですか?私はsession変数を何らかの形で使用することを考えていました...しかし、私は賢明な十分な考えをすることはできません。助言がありますか?

答えて

1

あなたは以下のルートを持つことができます。

get 'terms' => 'MODEL#terms' 
get 'new' => 'MODEL#terms' 
post 'new' => 'MODEL#new' 

"モデルを作成しますが、" 用/用語GETリクエストを送信する必要があります。条件を受け入れるには、/ newにPOSTする必要があります。ユーザーがURLに/ newを貼り付けると、代わりに用語が表示されます。

(またはさらに)/ terms POST変数をMODEL作成ページに:terms_accepted => trueとし、そのページでif :terms_accepted == trueをチェックします。そうでない場合は、用語ページにリダイレクトします。

+0

これは私が探していたものです。 – vinceh

1

用語の受け入れをモデル自体に追加することができます。それで、余分なページで構築する必要はなく、間違った場所に入るとリダイレクトされます。その代わりに、ユーザーは、フォームを作成するためにフォームを提出することができます。

あなたは、モデルに以下を追加することができます。

class Model < ActiveRecord::Base 
    validates :terms_of_service, :acceptance => true 
end 

をそして、あなたは新しい%{モデル}の形で、このチェックボックスを持っていることを確認してください。

も参照してください:http://guides.rubyonrails.org/active_record_validations_callbacks.html#acceptanceAccept terms of use rails

関連する問題