やすまんの技術ブログ

駆け出しエンジニアが日々学んだこと、わからなかったことなどをまとめておくブログ。忘備録としても使います。

2019-01-01から1年間の記事一覧

ビューが思い通りに表示されない

グループ編集機能を実装後、動作確認のため、 変更ボタンを押したら、違うビューファイルに飛んでしまった。 理由 =link_toで飛ばす場所を間違えてしまっていた。 本来は = link_to edit_group_path(@group) do とするべきところを = link_to edit_users_pat…

 rake routes について

rake routesをすると root GET / groups#index users GET /users(.:format) users#index POST /users(.:format) users#create edit_user GET /users/:id/edit(.:format) users#edit (一部抜粋) となるが、一番上のroot GET / groups#index の「/」は「root…

Couldn't find Group with 'id'= の解決方法

メッセージ送信機能を実装中に発生。 結論 routes.rbで入れ子構造にしていなかったから。 経緯 Couldn't find Group with 'id'= の意味は、グループI'dが持ってこれないよと言っている。 ということは、 データベースに「group_id」の記述がない コントロー…

データの取得方法(find)

データベースからデータを取得したい場合は 決められたコードを入力しないと、取得できない、もしくはエラーになる。 find @group = Group.find(params[:group_id]) モデル名.取得するコード(取得するもの) findを使う場合は、idを取得する場合に使う。

referencesの使い方。

使用方法 マイグレーションファイル t.references :group, null:false, foreign_key: true 使用するメリット 自動でindexをつけてくれる。 勝手にgroup_idを作ってくれる。(referencesの中には本当はgroup_idがっ入っている。なので、〜idの時は基本的に使っ…

コントローラとモデルの作成方法。

コントローラの作成方法 ターミナル $ rails g cotroller groups モデルの作成方法 ターミナル $ rails g model group

syntax error, unexpected tSTRING_BEG, expecting keyword_endの解決方法

結論 「:」を消す。 もしくは「,」をつける。 チャットアプリにフラッシュメッセージを実装する時に起きたエラー。 redirect_to root_path, :notice "アカウントが登録されました" これを redirect_to root_path, notice "アカウントが登録されました" にす…

I18n.enforce_available_localesの解決方法

結論 I18n.enforce_available_locales = false を記述する。 解き方 そもそもこのエラーはバージョンに問題がある時に起きるエラーではありますが、 I18n.enforce_available_locales = false を入力すれば解決できます。 configファイルに関連するところなの…

PendingMigrationErrorの解決方法。

経緯 アプリにサインアップ機能を付け加えるために、 ターミナルで $ rails g migration AddNameToUser name: string 入力後 applicationcontrollerに before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_per…

rails gコマンドとは

結論 rails generateコマンドの略で、ターミナル上でrails gと入力することで、必要なソースコードを自動で入力した状態でファイルを作成してくれる機能。 使い方 コントローラーを作成したい $ rails g controller モデルを作成したい $ rails g model

要素を隠す方法

css

結論 display: none を使用する。 display:noneを使用することで、親要素であるイメージのアイコンの下にあるファイルを選択という子要素を隠すことができる。 メルカリなど大規模なサイトでもだいたい使われているので覚えておく!

lavelタグについて

lavelタグの機能 lavelタグは、fontawesomeで画像投稿フォームを用いることで、通常表示される「投稿フォーム」の文言を消すことができる。

The line was indented 2 levels deeper than the previous line.の解決方法

結論 半角スペースの位置を確認する。 やり方 エラー文を見ると、スペースの位置がおかしいんじゃない? と教えてくれているので、該当の箇所を確認する。 .chat .chat-main__group-info test = link_to"########" do これだとスペースの位置がおかしいので…

同じ表示を複数出したいとき

結論 hamlに書いたものを複製して下に貼り付ければ良い。 どういうことか haml .chat-main__message-user mama.chat-main__message-list-date 2019/11/12.chat-main__message いい加減にしなさい.chat-main__send-message-user mama.chat-main__send-message…

aタグの装飾方法

css

aタグの装飾方法 結論 aタグは別でクラスを作って装飾をする。 やり方 haml ul.side-bar__top-items__icon =link_to("#####", class: "side__btn side__btn--edit") do = icon('fas', 'cog', class: "side__btn--icon") scss .side-bar__top-items__icon { c…

要素を横並びにしたいときは

css

結論 flex boxというレイアウト方法を使用する 使い方 横並びにしたい子要素の親要素にdisplay: flexと入力する。 子要素に横幅や要素間の隙間などを記載する。

勝手にルーティングが生成されてしまうのはなぜか?

※これは解決記事ではないです。 routes.rbに Rails.aplication.routes.drow do root "messages#index" #For details ~~~~~~~end を記述してターミナルに $ rails g controller messages index を入力して実行すると、 Rails.aplication.routes.drow do get '…

勝手にルーティングが生成されてしまうのはなぜか?

※これは解決記事ではないです。 routes.rbに Rails.aplication.routes.drow do root "messages#index" #For details ~~~~~~~end を記述してターミナルに $ rails g controller messages index を入力して実行すると、 Rails.aplication.routes.drow do get '…

インデントエラー Inconsistent indentationの解決方法

結論 5 spaces used for indentation, but the rest of the document was indented using 2 spaces. とあるので、半角スペースの数を5つから2つにしてねと書いてあるので スペースの数を修正する。 =link_to "https://www.yahoo.com/", class: "contents__…

タスクを見たいときはどうすれば良いか

railsでタスクを見たいときはどうすれば良いのか 結論 rake -Tをする USERnoxxxxxxxr:view_drill user$ rake -T これでタスクが表示されるようになる

rails aborted!が出てしまった時の解決方法

結論 そもそもbundleinstallするファイルを間違えていたのが原因という悲しい事実。 通常通りやればできたのに。 経緯 bundle installをした後にrails:erb2hamlをしたら USERxxxxxxx:view_drill user$ rails haml:erb2haml rails aborted! Don't know how to…

railsにおけるstringとtextの違い

データベース設計に関してtringとtextの違いがわからなかったのでメモ書き。 string 入力できる文字が255字以内。 主な用途は、一言入力したいときなどに使う。(名前、電話番号、住所など) ツイッターはstringなのかな? text 入力できる文字は無制限。 …

rake db:migrate:reset とは

rake db:migrate:resetとは resetとあるようにマイグレーションファイルをリセットしてくれる。 これは一旦綺麗にリセットして、もう一回マイグレーションファイルを作ってくれるということである。 その際に、マイグレーションファイル内のテーブルや、カラ…

演算子の使い方2

SQL

NOT演算子 SELECT * FROM users WHERE NOT prefecture = "愛知県" NOTはその名の通り当てはまらない(否定)の際に使う演算子。 なのでこの場合は、 愛知県は当てはまらない。 ということになる。 BITWEEN演算子 AND演算子を使って下のコードを見ると SELECT…

演算子の使い方

SQL

基本的な構文 基本的な構文は SELECT * FROM users で表示する。 SELECT SELECT カラムの名前 SELECTの後にスペースを開け カラムの名前を書く SELECT * 「*」はカラムをすべて持ってくるという意味。 FROM FROM users FROMの後にスペースを開け、テーブル…

ターミナルでReinitialized existing Git repository in ってでたときは・・・

結論 Reinitialized existing Git repository in(users/〇〇〇〇/~~~/~~~~~) は、データを初期化したよ ってだけのことだった まぁまぁ時間使って悩んだのに ちょっとショックでした。

「Github] インデックス? コミット?用語が難しいのでメモで残しておく

インデックス ある状態からどれだけ編集したのかを残しておくもの。 簡単にいうと変更点を記録しておくもの。 コミット コミックマーケットの略 ←あれはコミケね 意味はローカルリポジトリにファイルを保存すること。 インデックスとコミットの違いは インデ…

リダイレクトが繰り返し行われました。の解決方法

解き方 localhostでリダイレクトが繰り返し行われました。 railsの流れは基本的に ユーザーがリクエスト→コントローラ(dbがあればモデルをモデルを使って情報を引っ張ってくる)→ビューという流れである。 このエラーの場合、本来はビューに行きたいのに、…

HTML要素の取得方法

セレクタの基本表示 $("セレクタ") idセレクタ id属性で指定されている場合に使うセレクタ。 $("#セレクタ") 必ずハッシュ(#)を忘れない!! 例 index.htmlが <button type="button" id="submit" class="btn">検索</button> の場合 $("#submit").on("click", function() {});

関数の呼び出し方

関数の呼び出し方 function( )で呼び出す function 関数名(引数) { } function baby(){ console.log('baby'); } function sayName(name){ console.log(name); } let myName = 'noguchi'; sayHello(); sayName(myName);