質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1243閲覧

swiftからmysqlにダイジェストのパスワードを保存する

ssssskkkkk

総合スコア20

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/04/08 09:17

###swiftからmysqlにダイジェストのパスワードを保存する

swiftとrailsを連携して、アプリを作っていたところ、ダイジェストにしたパスワードをmysqlに保存することができませんでした。

rails g scaffold user name:string email:string password_digest:string

上記で雛形を作り、user.rbに下記を追加し、

has_secure_password

bcryptのコメントアウトを外し、bundle installを実行しました。

そして、下記のコードでMySQLにデータを保存しようとしたのですが、うまく保存できませんでした。

lang

1 2func createUser(success: @escaping (Void) -> Void, failure: @escaping (NSError?) -> Void) { 3 4 let params: [String: AnyObject] = [ 5 6 "name": self.name! as AnyObject, 7 "email": self.email! as AnyObject, 8 "password": self.password! as AnyObject 9 10 ] // params 11 12 13 14 let url = URL(string: "http://localhost:3000/users.json")! 15 16 Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default).response { response in 17 18 if let error = response.error { 19 20 print(error) 21 22 return 23 24 } // if let error 25 26 success() 27 28 return 29 30 } // Alamofire.request 31 32 } // createUser 33 34

もう一度雛形を作り直し、

rails g scaffold user name:string email:string password:stringとし、実行してみたところ、うまく保存できたので、おそらくpassword_digestの部分が原因なのではないかと考えています。

解決方法がわかる方がいらっしゃいましたら、教えていただけると嬉しいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

うまく保存できませんでした。

どういう結果になったのか書きましょう。
エラーログをのせましょう。
railsのバージョンを書きましょう。

詳細が分からないですが、私の環境では、

ruby

1#protect_from_forgery with: :exception 2protect_from_forgery with: :null_session

swift

1let params: [String: Any] = [ 2 "user":[ 3 "name": self.name! as Any, 4 "email": self.email! as Any, 5 "password": self.password! as Any 6 ] 7]

で動作しました。

投稿2017/04/08 18:12

編集2017/04/08 18:20
pebble8888

総合スコア390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ssssskkkkk

2017/04/09 02:25

ご指摘いただき、ありがとうございます。 次回からはエラーログなど、詳細に記述するようにしたいと思います。 教えていただいたようにコードを変えたところ、うまく動作しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問