2012-03-24 46 views
0

比方說,允許用戶查看模型的創建頁面之前,他們需要接受一些條款。工作流程是這樣的:Rails在創建之前接受條款

用戶點擊「創建模式」 - >帶到條款頁面,在移動之前必須接受 - >模型創建頁面

如果用戶複製的URL創建頁面,他們應該被重定向到術語頁面。

這是怎麼回事?我正在考慮以某種方式使用session變量......但我想不出一個足夠聰明的想法。有什麼建議麼?

回答

1

你可以有以下途徑:

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

的 「創模」 應該發送GET請求/項。接受條款應POST到/新。如果用戶在網址中粘貼了/新的內容,他會轉而使用條款。

或者(或另外),您可以將/ terms POST變量:terms_accepted => true添加到MODEL創建頁面,並在該頁面上檢查if :terms_accepted == true。如果不是,請重定向到條款頁面。

+0

這正是我所期待的。 – vinceh 2012-03-24 21:42:19

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