Просто если кто-нибудь еще наткнется на этот вопрос, вам не нужно передавать какие-либо параметры вашему контроллеру при использовании Devise / omniauth ... следующее прекрасно работает
$('#fb-connect').live 'click', ->
FB.login ((response) ->
if response.authResponse
window.location = "/users/auth/facebook/callback
else
console.log "User cancelled login or did not fully authorize."
), scope: "email, offline_access"
false
РЕДАКТИРОВАТЬ
Если используется меньшая версия или обойти исключение, если отсутствуют и параметр, и код, следующие встроенные js будут работать с нажатой клавишей мыши.
<script>
function fb_authorise(){
FB.login(function(response) {
if(response.authResponse) {
window.location = "/users/auth/facebook/callback?signed_request=<%= params[:signed_request]%>"
}
}, {scope: "email, offline_access"});
};
</script>
Таким образом, в ответ на свой исходный вопрос вы использовали параметр signature_request, а затем добавили к URL-адресу код = not signature_request