我剛剛添加並配置了設計寶石。除了阻止表單的自動保存AJAX調用之外,它工作得很好。允許AJAX通過設計(Rails)
在我的控制器的頂部,我有:
before_filter :authenticate_user!
我的AJAX調用涉及到同一個控制器:
def autosave
#TODO: update relative entry
#TODO: verify user logged in
#TODO: verify entry belongs to relative user
render content_type: 'text/xml', inline: "<result status='ok' />"
end
當然,我可以代替聲明我之前過濾像這樣:
before_filter :authenticate_user!, except: :autosave
..但這沒有提供任何阻止任何人在任何時間調用此控制器功能即
什麼是允許調用此函數的最佳方法?我仍然希望確保只有登錄的用戶才能撥打電話,而且他們正在編輯的給定記錄屬於他們。
由於調用來自AJAX(一個CKEDITOR形式是確切的)而不是來自Rails鏈接,它看起來像current_user.nil?將永遠回報真實。 是否有我必須傳遞的特定參數? – kwikness
current_user返回的是什麼? – kwikness
查看我關於安全令牌的更新答案。 – Noz