我正在創建一個基於Rails的API來管理短信訂閱。有一個subscriptions
控制器respond_to :html, :json, :xml
和Subscription
模型。兩者都正常工作。創建基於Rails的API。保存對象後丟失了什麼
訂閱時,用戶仍然需要通過在發送到他的手機的頁面上輸入PIN來確認他的訂閱,所以我想到一個confirms
控制器來管理它。
我對如何實現這一點有幾個問題。
(1)訂閱後,正確的做法或最佳做法是什麼?顯示創建的訂閱對象(html,json或xml,具體取決於它是如何創建的),並將確認控制器作爲單獨操作來管理,還是應該重定向到確認控制器?
我想,既然API響應json和XML,是不是一個好主意重定向到任何其他頁面/控制器,並會更好地顯示創建的對象?
(2)如果是這樣,我使用CanCan來管理角色能力。由於訂閱屬於User
所有者(開發人員),因此不需要進行身份驗證就可以執行POST
(我知道誰是用戶所有者因給出關鍵字/短代碼的組合而關聯),並且訂閱可以由任何瀏覽者進行(創建之前不需要進行身份驗證)我怎麼能限制創建的對象到那個衝浪者?
我猜如果登錄User
,就很容易向他顯示對象,因爲它是所有者,但是如何創建對象並且不需要進行身份驗證?
我沒有任何方式將衝浪者連接到對象以限制它的能力。
(3)創建一個普通的衝浪者後,向對象展示對象是個好主意嗎?我可能認爲這可能與開發人員通過api本身通過json執行操作時不相關?
訂閱模式很簡單,它的工作原理是這樣的
$ curl http://mysite.com/subscriptions \
-d shortcode=7889 \
-d keyword=KEYWORD \
-d phone=6895874587 \
-d country=us \
(2)。用戶不是訂閱的創建者。用戶是網站所有者(可以訪問該API)並且創建該訂閱的人可以是任何衝浪者。它不需要認證用戶(API所有者)來訂閱用戶。這就是爲什麼我不確定如何做到這一點。 – Martin