ギークなエンジニアを目指す男

基幹系SIerがWeb系とかネイティブ系の知識を蓄えようとするブログ

Railsのビュー / コントローラ / ルーティング について

f:id:taxa_program:20170727000850p:plain

ページの作成についてちょっと勉強したのでこの記事にまとめておきます。
今回学んだサイトはProgateです。(画像も一部使用させて頂きました)

  • ビュー(View)について
  • コントローラ(Controller)について
  • ルーティング(routing)について

ビュー(View)について

ビューとは、ページの「見た目」を作るためのHTMLファイル(っぽいもの?)らしい。

ブラウザとRailsのやりとりの中で、Railsからビューが返され、ページが表示されるようだ。

f:id:taxa_program:20170727001324p:plain

下記コマンドを実行すると、viewsフォルダの中に
「homeフォルダ」と「top.html.erb」というファイルがRailsによって自動的に作成される。

続きを読む

Ruby on railsでタスクアプリを作成してみる~モデルの作成~

f:id:taxa_program:20170724224720p:plain

  • 実行環境
  • タスク管理アプリ作成
  • プロジェクト作成 – Model –

実行環境

OS:macOS Sierra Ver.10.12.5

タスク管理アプリ作成

今回も前回同様ドットインストールさんで勉強。

前回記事はコチラ
taxa-program.hatenablog.com

例のごとく、railsで新しいアプリを作成。

$ rails new taskapp --skip-bundle

この辺りはもう手慣れてきた。
ちなみに後半の「–skip-bundle」でbundleのインストールを省略できるみたい。

続きを読む

Ruby on railsで初めてのApplication作成

  • 実行環境
  • railsプロジェクトの作成

実行環境

OS:macOS Sierra Ver.10.12.5

railsプロジェクトの作成

下記コマンドを実行

$ rails new myapp

少し待つと、配下にmyappフォルダが作成され、
その下にフォルダやらファイルやらが作成されている。
これだけでプログラミングしている感じがすごい。

そしたら作成したフォルダへ移動し、rails serverを起動する。

$ cd myapp
$ rails s

ここでMacからrailsへの通信許可の有無を聞かれるので

続きを読む

MacにRuby on railsの環境構築をしてみた(macOS Sierra)

  • 構築環境
  • Rubyの勉強は…
  • Ruby on rails の環境構築
  • 補足1:Gemパッケージとは
  • 補足2:Bundlerとは

構築環境

OS:macOS Sierra Ver.10.12.5

Rubyの勉強は…

前回の記事ではRubyのインストールまで行いまいしたが、
その後、ドットインストールさんでUNIXの基本とRubyの基本を学びました。

UNIXの基本はこちら

Rubyの基本はこちら

Ruby on rails の環境構築

いよいよRuby on railsのインストールです。

ちなみに、現在下記コマンドを入力すると、Railsがありませんと言われます。

続きを読む

MacにRubyの開発環境を構築してみたよ

目次

構築環境

OS:macOS Sierra Ver.10.12.5

Homebrewをインストールする

こちらの記事を参考にインストールしました。

Homebrewのインストール部分で、rubyディレクトリまで移動しないといけないみたいなので、
Homebrewのサイトに書いてある通り、下記コマンドを実行

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ここでパスワード入力を求められたりしますが、3分ほどで終了。

brew doctorを実行して、brew updateを実行して無事終了。

Homebrewを使ってrbenvをインストールする

こちらの記事を参考にインストー

特につまずく事もなく無事にインストール完了しました。
そういえば、今入っているRubyのバージョンを知りたいのと、
最新版のRubyもインストールしたいと思い調べてみました。

インストールされているRubyのバージョンを確認する

コマンドプロンプトで下記を実行

ruby --version
>ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

どうやら2.0.0が入っているようだ。

最新安定板のRubyのバーションを調べてみた

rbenv install -l | grep -v - | tail -1
>2.4.1

らしい。

とりあえずこれから学んでいくので、最新安定板がカッコ良くて良いと思ったので、
最新版をrbenvでインストールしてみる。

rbenv install 2.4.1

ここでまた少し時間がかかります。
インストールが完了したら、インストールされているRubyの一覧を表示してみる。

rbenv versions
>* system (set by /Users/nozawa/.rbenv/version)
>  2.4.1

*が付いているものが今選択されているバージョンのようだ。

今回インストールした最新バージョンを選択させてみる。

rbenv rehash
rbenv global 2.4.1
rbenv versions
>  system
>* 2.4.1 (set by /Users/nozawa/.rbenv/version)

無事にできたー!

これで環境構築できた(はず)なので、とりあえず勉強開始してみる。


switfでHTTP通信をしてみる。(POSTだぞ)

みなさんこんばんは。

今日はスタバに来ております。

 

最近土日もバタバタしており、まとまった時間が取れずに全然アプリ開発できていませんでした。

今日は前回からの続きで、swift→php→DBといった感じのユーザ情報登録処理を実装していきます。

 

obj-cでは実装したことのある上記処理

swiftでも変わらずに行えました。

 

今回は、swiftで画面上に入力されたユーザの情報をHTTP通信を行い

DBに保存するという流れです。

 

★swift側の実装

  1. // DBにユーザ情報を登録する
  2.         let url = NSURL(string: "http://各自のファイル名.php")
  3.         let config = NSURLSessionConfiguration.defaultSessionConfiguration()
  4.         let session = NSURLSession(configuration: config)
  5.         let req = NSMutableURLRequest(URL: url!)
  6.         req.HTTPMethod = "POST"
  7.         req.HTTPBody = "user_id=0000001&user_nm=TAXA&sns_id=TEST&prof_img=TESTIMG&gender=man&url=http&email=gmail&account_typ=9".dataUsingEncoding(NSUTF8StringEncoding)
  8.         let task = session.dataTaskWithRequest(req, completionHandler: {
  9.             (data, resp, err) in
  10.             print(resp!.URL!)
  11.             print(NSString(data: data!, encoding: NSUTF8StringEncoding))
  12.         })
  13.         task.resume()

 

 req.HTTPBody = "user_id=0000001&user_nm=TAXA&sns_id=TEST&prof_img=TESTIMG&gender=man&url=http&email=gmail&account_typ=9".dataUsingEncoding(NSUTF8StringEncoding)

の部分でphpへ投げる引数の設定を行っています。

上記の場合、user_idとして0000001, user_nmとしてTAXAを設定。

 

 

php側の設定

  1. // クエリーからのデータ取得
  2. $pUSER_ID = $_POST["user_id"];
  3. $pUSER_NM = $_POST["user_nm"];
  4. $pSNS_ID = $_POST["sns_id"];
  5. $pPROF_IMG = $_POST["prof_img"];
  6. $pGENDER = $_POST["gender"];
  7. $pURL = $_POST["url"];
  8. $pEMAIL = $_POST["email"];
  9. $pACCOUNT_TYP = $_POST["account_typ"];

 

上記変数に値が設定されるので

あとはInsert文やらUpdate文を発行して、指定のDBへ向けて実行してやれば良い。

 

意外に簡単に実装できて感動です。

f:id:taxa_program:20160612152330p:plain

 

 

今回はこのあたりで。

 

 

前回記事は下記から 

taxa-program.hatenablog.com

 

 

swift 2.2でJSONのNSNULLの判定をしてみた話

こんばんは。

暑い日が続いていますね。

 

今日は名探偵コナンの映画を見てきました。

 

さてはて、前回から行っているmBaasのログイン処理ですが、

JSONで取得できたはいいものの、データがNULLの場合に落ちてしまいました。

 

そこでNSNULLをチェックするコーディングをしたかったのですが

ネットを漁ってもなかなか出てこなかったので、記事にしておきます。

 

  1.  // sessionTokenNSNullの場合はログアウト状態とみなす
  2.  if jsonResult["sessionToken"]!!.isKindOfClass(NSNull) == true{
  3.  
  4.  else{
  5.   }

 

こんな感じです。

なんで!!が2つ必要なのかはイマイチ理解できていません...

 

アルプスのおじいさん、教えてください。