2015-10-30 36 views
1

我有一個表單,我希望要求用戶在查看其他頁面之前提交表單。但是,這不應該要求登錄或用戶身份驗證。有沒有辦法解決?本質上,我想阻止用戶使用url跳到內容。在查看頁面之前需要提交表格 - rails

我正在考慮在f.submit操作上添加一個Jquery模式?任何想法或建議將不勝感激。

+0

您可以使用會話變量來確定用戶是否訪問過第一個頁面,如果他們沒有訪問過第一個頁面並將它們從其他url重定向。實際上,你甚至不需要重定向,只需加載你希望他們首先看到的頁面內容即可。 – sunny

+0

我需要讓人們輸入他們的姓名和電子郵件,才能查看用戶控制的頁面。客戶要求他們不必註冊一個賬戶,但有權查看該頁面,並要求他們記錄他們的姓名和電子郵件。 – jpdvi

回答

0

當用戶提交表單(沒有服務器響應http GET來提供該頁面)時,您可以將http頁面作爲http POST響應返回。這樣,你首先收集表單的信息,然後發送迴應的頁面。

config/routes.rb創建一個POST路線:

post 'form', to: 'form#create' 

在你的控制器,保存表單數據你有興趣,並與頁面響應:

def create 
    #save the form data in a Form model? 
    @form = Form.new form_params 
    if @form.save 
    render :page 
    else 
    redirect_to :new 
    end 
end 

你需要調整上述代碼以適應您的需求。

+0

這聽起來像是會起作用的,你能否指點我在​​哪裏尋找開始的正確方向? – jpdvi