Rails サーバー (認証用の Devise を使用) と AngularJS クライアントを使用しています。Rails によって生成されたフォームをクライアント側のページに追加し、ng-submit
次のように Angular ディレクティブを追加しました。
<%= form_for("user",
:url => user_session_path,
:html => { "ng-submit" => "doSignIn()" }) do |f| %>
action
これにより、次のように とng-submit
属性の両方を持つフォームが生成されます。
<form accept-charset="UTF-8" action="/users/sign_in" method="post" ng-submit="doSignIn()">
囲んでいる のコントローラーの定義にはdiv
、doSignIn
現時点では何もしない関数があります。
$scope.doSignIn = function() {
console.log($scope.email, $scope.password);
};
$scope.email
を$scope.password
使用してバインドされng-model
ます。または、少なくとも、そうであるはずです-私にはわかりません。なぜなら、送信をクリックすると常に に転送されるから/users/sign_in
です。ng-submit
を使用すると、フォームがユーザーをリダイレクトするのを防ぐという印象を受けました。ng-click
メソッドも使用する同じメソッドを使用して、送信ボタンに を追加しようとしました。doSignIn()
また、イベントを渡して を呼び出してみましたevent.preventDefault()
。私がリダイレクトされるのを止めるものは何もないようです。
私の目標は、最終的には AJAX でサインインを実行することですが、今のところ、自動リダイレクトを停止できることを証明するだけでも十分です!