やすまんの技術ブログ

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

2019-12-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 '…