プログラミング学習者のアウトプット 拾玖

個人ページがない時にデフォルトページへ移動させるのができない......

やったこと

・個人ページの有無でリンク先を変える

 

個人ページの有無でリンク先を変える

 コントローラーで存在チェックをすると、該当idのページが存在しないとエラーが出てしまうため、リンク先のページの存在チェックには使えなそう。存在チェックを使うには、別の部分で個人ページ一覧を作っておいてそれに対して使うといった工夫が必要そう。

プログラミング学習者のアウトプット 拾捌

自作アプリの個人ページにデフォルトページを実装開始。

やったこと

・デフォルトページのマークアップ

 

デフォルトページのマークアップ

 現状個人ページを作成していない場合には、メインページからリンクで個人ページに飛ぼうとするとエラーが発生してしまうため、その対策としてデフォルトのページに飛ぶようにしたい。

 そこで個人ページのビューファイル をコピーして、新規でデフォルトページを作成した。リンクや条件分岐が未了のため、ここを随時実装していく。

プログラミング学習者のアウトプット 拾漆

自作アプリを改良のためにあちこち変えて実験していたら、動いていた機能すら使えなくなったため、一旦戻した。

やったこと

・コード修復

 

コード修復

 コントローラーのeditとnewの分岐を外し、自身の個人ページでのみ編集ページに移動するようにした。また実験で新規個人ページが量産されたため、データベースをリセットしてユーザー情報等を一掃して作り直した。

 データベース内の情報管理はターミナルで確認しているが、複数のデータベースを確認したり、データ整理したりする場合はmysql用のSequel Proのようなアプリがどれ程便利かがよく分かる。しかし導入の手間が面倒で未だ導入する気になれない。

プログラミング学習者のアウトプット 拾陸

自作アプリ開発に進展は無いが、railsで存在を判定するメソッドについて調べたため、それをまとめる。

やったこと

railsでオブジェクトの存在判定方法まとめ

 

railsでオブジェクトの存在判定方法まとめ

railsでオブジェクトの存在を判定するメソッドは以下の4つがある。

1.  nil?

 オブジェクトの中身が「nil」の場合のみtrueを返す。

 

2.  empty?

 オブジェクトの中身が「""」(空)、「 [ ] 」(空の配列)、「{}」(空のハッシュ)の3つの場合のみtrueを返す。

 中身が「nil」ではエラーが発生するため注意。

 

3.  blank?

 オブジェクトの中身が「nil」、「false」、「""」(空)、「[ ]」(空の配列)、「{}」(空のハッシュ)の3つの場合のみtrueを返す。 

 

4.  present?

 オブジェクトの中身があればtrueを返す。つまり「nil」、「""」(空)、「[ ]」(空の配列)、「{}」(空のハッシュ)の場合のみfalseとなる。

 

プログラミング学習者のアウトプット 拾伍

自作アプリ改良中。

やったこと

・個人ページの有無でリンク先を変える

 

個人ページの有無でリンク先を変える

 メインページから個人ページへ移動する際、すでに個人ページが作成されていれば個人ページが表示され、作成していなければ新規作成用画面の移動するようにしたい。そこでコントローラーで

if Ownpage.find(current_user.id) == nil

としてみたところ、Couldn't find Ownpage with 'id'=1 と先に対象idが存在しないとエラーが出た。現在上手くid検索せずに対象ページが存在するか判定できないか試行中。

 

プログラミング学習者のアウトプット 拾肆

自作アプリ改良中

やったこと

・個人ページのメッセージ欄の更新

・更新した情報の適用

 

個人ページのメッセージ欄の更新

 個人ページの編集はログインしたユーザーのみが行えるようにすべきであることを思い出し、find(current_user.id)としたら問題なくできた。また個人ページの編集画面へのリンクを、ユーザー自身のページにしか表示されないようにした。

 

更新した情報の適応

  編集ページで変更した内容を、個人ページに反映されるようにしていなかったため、適用できるよう改良した。コードは = @ownpage.content でOKだった。

 

プログラミング学習者のアウトプット 拾参

今日はほぼ終日就活関連に時間が割かれたため、アプリ改良は少しだけ。

やったこと

・個人ページの編集機能

 

個人ページの編集機能

 個人ページでメッセージ欄を編集後、「更新」を押してもデータが更新されない。

paramsを確認したところ、以下のようになっていた。

 params [:ownpage]

 =>{"content" => "aaaa"}

ここからparamsの「ownpage」の中の「content」に変更データが入っていそうなため、うまくこれを指定できれば値が取り出せそう。明日これを試してみる。