- 1. 三項演算子
- 1.1. 100日後にエンジニア就職するカエル
- 1.2. [未解決]コード変更していないのに、エラーがないエラーに変わっている(304)
- 1.3. Rails×Reactでユーザー画面の色をアカウントごとに切り替える
- 1.4. 【mac/Ruby】csvファイルの文字化けを解消する
- 1.5. 【AWS】 S3アップロード Rails CarrierWave
- 1.6. 【Rails/PAYJP】ユーザーとクレジットカード情報を紐付ける方法
- 1.7. 妊娠/出産を経て独学から個人でプロダクトを作るまでにやったこと
- 1.8. rbenvでRubyのversionが変わらなくて悩んだ原因はシェルだった。
- 1.9. [Ruby] Array#permutation
- 1.10. WindowsのWSL2環境にRailsをローカルインストールする
- 1.11. redmineのアップデート3.1から4.2
- 1.12. Rails form_select が急にsyntax error になった時のデバッグ
- 1.13. orderメソッドを使用して順番を入れ替える!
- 1.14. ユーザー登録(devise)と同時に別モデルにデータを同時保存したい場合の話。
- 1.15. シンボルでよく間違える事…
- 1.16. パスワードの表示/非表示の切り替えボタンを作成
- 1.17. 【Rails】いいね機能の作り方
- 1.18. プログラミングスクールでの学習と今後の展望
- 1.19. 【Rails】Google Mapの表示
bootstrap btnがリロードしないと表示できない>>>三項演算子
三項演算子
枠だけ色付きのボタン、編集/editページに行くと選択していたボタンが選択されない&リロードすると選択していたボタンが表示される
検証ページ見るとcheckedになっている
“`html:edit.html.erb
“`https://qiita.com/lasershow/items/160c854e4256ba596ec5
“`html:edit.html.erb
`
100日後にエンジニア就職するカエル
はじめまして!カエルと言います?
現在就職活動を終えて広告系のベンチャー企業に内定を貰ったのですが、内定者アルバイトとして仕事をしてみるとこれがなんだか自分には合ってないのではないかと思ってしまいました。
そんな中プログラミングに興味を持ちはじめて学習を開始しました。これはそんな僕の学習記録です。
初回ということで
①自分の最終目標とは
②現在はどんな勉強を行なっているのか。
③今後どのように行動していくのか
④今日行った勉強記録
について書いていこうと思います。まずは①自分の最終目標について
僕がプログラミングに興味を持ち始めたきっかけは自分の思いを形にできることが面白いと感じたからです!
なので最終目標としてはwebサービスを開発する企業にエンジニアとして就職することです!これを100日後の目標とします!②現在行なっている勉強について
これに関しては今は某大学生プログラミングコミュニティに所属してruby on railsを使って擬似Twitterアプリを作っています。③今後について
まずは今所属しているコミュニティで作成中のアプリ完成させたいと考えてます。
[未解決]コード変更していないのに、エラーがないエラーに変わっている(304)
# はじめに
本記事は、現在私が戦っているエラーのないエラーの備忘録です。## 内容
ユーザーの編集ができなくなってしまった。
1週間前は、普通に編集ができました。
また、特にコードいじってないはずなのに。[![Image from Gyazo](https://i.gyazo.com/5c59312126510ca9cbb77c3ab1a97586.gif)](https://gyazo.com/5c59312126510ca9cbb77c3ab1a97586)
# コード
コントローラー“`users_controller.rb
class UsersController < ApplicationController before_action :authenticate_user! def show @user = User.find(params[:id]) @foods = @user.foods.order("created_at DESC") end def followings user = User.fin
Rails×Reactでユーザー画面の色をアカウントごとに切り替える
#はじめに
SaaS型プロダクトで、管理画面側(Shop)とエンドユーザー側(User)との2つがあるプロダクトを開発しています。管理画面側(Shop)は、Shopアカウントごとにログインを行います。
Ruby on RailsとReact(TypeScript)、Material-UIで開発しています。#やりたいこと
アカウントごとにそれぞれ別の色を設定し、それが各アカウントごとのエンドユーザー側の画面のマスター色に反映されるようにしたい。
例: アカウントA(ShopA)の色は赤色、アカウントB(ShopB)の色は青色。ユーザーはShopAのエンドユーザー画面に入ると赤色がマスター色(ヘッダーやボタンなど)、ShopBのエンドユーザー画面は青色がマスター色。#方針
1. Shop_colorテーブルを追加、ShopテーブルがShop_colorテーブルを1つ持つ(has_one)
2. カラーコード(例:#FFFFFF)を一旦追加。
3. RailsControllerで、ShopのShop_colorを取得しReact側に送信、Shop_colorがnullであればデ
【mac/Ruby】csvファイルの文字化けを解消する
###1.背景
ポートフォリオ作成にあたり、csvファイルからデータを取り込みたいと考えました。
ダウンロードしたcsvファイルをクリックした時には(`Numbers`でファイルを開きました。 ※`このアプリケーションで開く`で設定していたため。)
問題なかったのですが、いざ該当のディレクトリに入れてクリックしたら文字化けが凄かったです。※画像はイメージです。
これじゃ使えない!と思い解消方法を探しました。
###2.環境
– mac.os バージョン10.15.6
– Ruby 2.7.3###3.実際やった方法
[こちら](https://support.freee.co.jp/hc/ja/articles/115002727126-CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%
【AWS】 S3アップロード Rails CarrierWave
#目標
s3に画像をアップロードする#前提
* 画像投稿機能実装済
* AWSアカウント作成済
* CarrierWave使用# やりた方
####AWSでIAMユーザを作成していきます
①IAMにアクセス→ユーザー追加するを選択
②ユーザー名をきめる
③AWS認証情報タイプの選択で、アクセスキー−プログラムによるアクセスにチェックを入れる→次へ
④既存のポリシーにアッタチを選択
⑤ポリシー検索でS3を入力→ AmazonS3FullAccessを選択
⑥キーとタグは作成せず→次のスッテプ:確認
⑦管理ポリシーがAmazonS3FullAccessになっていることを確認して→ユーザーの作成
⑧アクセスキーIDとシークレットアクセスキーが出てくるので必ずメモするか、csvのダウンロードをしておく→閉じる
これでIAMユーザーが作成できたので、次にS3を作成####S3バケットの作成
①S3にアクセス S3を選択→バッケット作成選択
②バケット名を選択→他と被らない名前を記入してください
③リージョンはそのままの(東京)ap-northeast-1で
④パブリックアクセスの全
【Rails/PAYJP】ユーザーとクレジットカード情報を紐付ける方法
プログラミングスクールの最終課題でオリジナルアプリを作成するにあたり、
ユーザーとクレジットカード情報を紐付ける方法を学習したので、アウトプットしていきます。
Qiitaへの投稿に不慣れなため、稚拙な部分もありますがご容赦ください。前提条件
・Rubyバージョン2.6.5
・Railsバージョン6.0.0
・`gem ‘devise’`によるユーザー管理機能を作成済み。
・公開鍵と秘密鍵の環境変数を設定済み。# ユーザーとカード情報を紐付ける流れ
①環境変数の確認
②PAY.JPを使えるように設定
③カード登録画面の実装
④jsファイルの実装
⑤cardsコントローラーの実装とバリデーションの設定
⑥登録しているカード情報の詳細ページを作成# ①環境変数が設定されているか確認する
セキュリティ上、公開鍵・秘密鍵の情報をコードに直接記述できないため、環境変数に設定する必要があります。
ターミナルで環境変数が設定されているか確認します。“`
% env | grep PAYJP
PAYJP_PUBLIC_KEY=”設定した公開鍵の値”
PAYJP_SECRET_KEY
妊娠/出産を経て独学から個人でプロダクトを作るまでにやったこと
この度、[iitoko](https://iitoko.online/)という、地方移住のマッチングサイトを開発しました。
(どうしてこのサイトを作ろうと思ったのか、どんなサイトになっているのか、ということはまた別の機会に書こうと思います。)今回は、独学からこのサイトを開発するに至るまで、
どんな風に勉強してきたのかを備忘録として残しておこうと思います。#ざっくり系譜
| | 出来事と勉強法 |
|:-|:-|
|2019.4〜| お腹に長女を授かる|
||Progate・ドットインストールで色々とやってみる→日本語のドキュメントが豊富ということでRubyを勉強することにする|
|2019.10〜|産休に入ったことで勉強に本腰。Rubyをチェリー本で勉強。|
|2019.11|出産 〜3ヶ月間は産後の回復と育児で精一杯(チェリー本終わらず)|
|2020.02〜04|少しリズムが掴めてきたので、勉強再開。記憶がなくなったので再びprogate(ruby)から。アプリ版終わったあとWeb版でもう一周。その後チェリー本再開 ~4月にかけて2周やった。|
|2020.04~05|p
rbenvでRubyのversionが変わらなくて悩んだ原因はシェルだった。
# 背景
Homebrewおよびrbenvをインストールし、“`
$ rbenv global 3.0.2
“`
Rubyのversionを2.6.3から3.0.2へ更新しました。しかし、ターミナルを一度閉じてしまったり、iTermやVSCodeなど他のCLIで「ruby -v」コマンドでRubyのversionを確認してみても、2.6.3のままでした。
[Rubyのバージョンが切り替わらない時の対処法!](https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1)を参考に「.bash_profile」を書き換えた後、「source ~/.bash_profile」コマンドを実行してみましたが症状は変わらずでした。
# 原因
シェルがbashではなくzshだったため、「.bash_profile」にRubyの参照先を書いても起動時に読み込まれないことが原因でした。[rbenvでRubyバージョン切り替える【仕組みまで理解】](https://ichitasu.com/ruby-rbenv/)を参考に「.zs
[Ruby] Array#permutation
##はじめに
Rubyのpermutationメソッドについて簡単にまとめたいと思います。
よろしくお願いします。##permutationメソッド
これは配列の中の組み合わせを全て作ってくれます。
返し方は配列の中に配列を作って一つの組み合わせを表現します。また、要素が同じで順番が違っていた場合も違う組み合わせとして扱われます。
“`ruby
a = [1, 2, 3]
a.permutation.to_a=> [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]
“`また引数を渡すとその渡された数字分で組み合わせを出します。
“`ruby
a = [1, 2, 3]
a.permutation(2).to_a=> [[1, 2], [1, 3], [2, 1], [2, 3], [3, 1], [3, 2]]
“`参考: https://docs.ruby-lang.org/ja/latest/method/Array/i/permutation.html
WindowsのWSL2環境にRailsをローカルインストールする
# 概要
WSL2に構築したCentOS環境上に、Railsをインストールする。
環境を汚したくないので、グローバルのgemではなくローカルにインストールする。# 前提
* WSL2にLinux環境を構築している
* rbenvでrubyを管理している# 環境
* OSはCentOS 7.9
* ruby versionは2.7.4
* bundler versionは2.1.4(rubyに内包のバージョン)# やりたいこと
* Railsをローカルにインストールしてアプリケーションのベースを作る
# 手順
### 事前準備
root権限(またはsudo)で `g++`と`MySQL` をインストールしておく。
“`
# yum install gcc-c++
# yum install mysql-devel
“`### ディレクトリ作成
ディレクトリを作成し、その中で作業する。
“`
$ mkdir rails_application
$ cd rails_application
“`### Gemfileの作成
下記コマンドを実
redmineのアップデート3.1から4.2
ダメ元でやってみようと思ってやってみたらできた。笑
# 環境(移行元、移行先)
| # | 移行元 | 移行先 |
|:-|:-|:-|
| Redmine | 3.1.0 | 4.2.2 |
| Ruby | 2.0.0 | 2.7.4 |
| Rails | 4.2.3 | 5.2.6 |
| Webサーバ | Apache2.4 | Apache2.4 |
| Appサーバ | passenger 5.0.30 | Unicorn 6.0.0 |
| OS | Amazon Linux2(x86_64) | Amazon Linux2(ARM64) |
| DB | RDS/MySQL8.0 | RDS/MySQL8.0 |※プラグインは、[view_customize](https://github.com/onozaty/redmine-view-customize)のみ
※Themeは、[bleuclair](https://github.com/farend/redmine_theme_farend_bleuclair/blob/ma
Rails form_select が急にsyntax error になった時のデバッグ
こんにちは。
今まで普通に動いていたform_selectが急にシンタックスエラーを吐いたのでデバッグしました。![エラー画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430116/171ace52-d203-01b0-449b-c51f80eff0a4.jpeg)
原因は直前までdeviseの日本語化のため、i18Nの設定をいじっていたことらしいです。
ということで config/locals/ja.yml に日付も対応させてあげようということで…“`yml:config/locals/ja.yml
ja:
date:
formats:
default: “%Y/%m/%d”
short: “%m/%d”
long: “%Y年%m月%d日(%a)”day_names: [日曜日, 月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日]
abbr_day_names: [日, 月, 火, 水, 木, 金, 土]
orderメソッドを使用して順番を入れ替える!
# 結論!
orderメソッドを使用すれば投稿順を最新や古い物など並べ替えられるという事!
もっと細かく具体的にいうと、そもそもorderメソッドは、ActiveRecordメソッドです!
テーブルから取得してきた、複数のレコード情報を持つインスタンスの並び順を変更するメソッドのことです!
# orderメソッドの記述!
複数のレコード情報を取得する文に続けて以下のように記述します!
“`
インスタンス = モデル名.order(“並び替えの基準となるカラム名 並び順”)
“`では、この並び順とは?
ASC(昇順)とDESC(降順)の2種類があります!
ちなみに2種の略は、
ASC = Ascending (小さいものから大きいものになる。古いものから新しいのものになる)
DESC = Descending (大きいものから小さいものになる。新しいのものから古いものになる)
となります!
新しい投稿から表示させていのであれば、DESCを使用するという事です!
下記は詳しい記述例です!
“`php:controller.rb
def ind
ユーザー登録(devise)と同時に別モデルにデータを同時保存したい場合の話。
# はじめに
オンラインスクールにてRuby on Railsの学習をはじめ5ヶ月が経ちました。
リリースを前提に現在開発予定のアプリに実装した機能のアウトプットになります。
「Deviseのユーザー登録と同時に別モデルにデータを保存する方法」です。具体的なユースケースの例は、下記のような場合です。
・ユーザー登録と同時に銀行口座が開設される。
・ユーザーは1つの銀行口座しか持つことができない。
・銀行口座IDとユーザーIDは紐付く。
・登録時の口座残高の初期値はnullではなく0円。ユーザー登録と同時に何か一つ、自動で生成されるモノ。を実装する際はお役に立てるかと思います。
:::note warn
※今回は、バリデーションについては触れません。
※今回は、アプリ作成・Devise導入・基本的なユーザー管理機能の説明は省きます。
:::# 導入
ユーザー管理機能の実装が終わっている前提。
最低限、ユーザー新規登録とログインはできる状態でこちらをお読み下さい。まず前提として、deviseは基本的にGemで動くものなので、通常のMVCの流れとは違います。
”ユーザー登録
シンボルでよく間違える事…
◼️突然ですが、私はシンボルをハッシュ内でシンボルを書く際よく間違えることがあります。
それは : :point_left: の位置です。普通はハッシュ内にシンボルを書く時、上の様な書き方が普通だ。
(https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/982443/a7154a07-8e48-134a-7e77-d36d2e4cb15b.png
だが、私は下の様な記述をたまにしてしまう:frowning2:
今後、この様なミスをなくすため少しでもいいからコードを書く様努力していきたいと思う。
宜しかった応援の方オネシャース!今日の投稿は以上です。
wagaでした!
パスワードの表示/非表示の切り替えボタンを作成
# パスワードの表示/非表示の切り替えボタンを作成する
## やりたいこと
簡易的なパスワードの表示ボタンを作成したい
HTMLのみに記述## 概要
調べまくった結果、JavaScriptを使用しないと厳しい…
が、記述としてはあまり良くないかもしれないがHTMLに記述しても作成できる。
deviseのパスワードに追加して記述していく。## 具体例
“`
<%= f.password_field :password, ... , id: "pass" ←追加(好きな名前で)
パスワードを表示する
“`
パスワードはtype=”password”からtype=”text”に変換させれば表示することができるので、onChangeを使用して変換させる。
その際、ById(‘この部分’)をパスワードのidと同じにしておく。## 結果
![](http
【Rails】いいね機能の作り方
プログラミングスクールの最終課題でオリジナルアプリを作成するにあたり、
いいね機能を実装したので、アウトプットしていきます。
Qiitaへの投稿に不慣れなため、稚拙な部分もありますがご容赦ください。**前提条件**
・Rubyバージョン2.6.5
・Railsバージョン6.0.0
・「gem ‘devise’によるUserモデル」と「投稿に関するPostモデル」は作成済みとします。# いいね機能作成の流れ
下記の6ステップに分けていいね機能を実装していきます。
①いいね機能を管理する**「Favoriteモデル」**を作成する。
②各モデルに**アソシエーション**を記述する。
③URIパターンに**「:post_id」を含めたルーティング**を設定する。
(どの投稿に紐付くいいねか分かるようにするため、postsコントローラーのルーティングに
ネストさせる)
④favoritesコントローラーでアクションを定義する。
⑤Postモデルに**「ログイン中のユーザーがその投稿に対していいねをしているか」**
を判断するメソッドを定義する。
⑥投稿詳細のビューファイルに**
プログラミングスクールでの学習と今後の展望
1、私の色々
2、プログラミングを学ぼうとしたきっかけ
3、テックキャンプでの学習
4、転職活動と今後の展望1、私の色々
・秋田県出身(1992年生まれ)
・大学では野球部に所属。法学部に在籍するも野球漬けの毎日で学業は置き去りに
・大学卒業後、ガス会社に入社する(2014年4月)
・プロ野球選手になる!という夢をもう一度追うべく、四国にあるプロ野球球団のトライアウトを受験(2014年10月)
・トライアウトに合格したので、会社を退職。もう一度プレーヤーとして奮起することに(2015年1月)
・2年間(2015,2016年)プレーしたものの、自身の実力に限界を感じ引退。
・2017年3月に球団からの紹介で都内の企業に入社。
・4年間、営業や販売業務に従事。2021年3月に退職。
・2021年7月~テックキャンプ105期生としてプログラミング学習をすることに←ここ急だねって思った:thinking:2、プログラミングを学ぼうとしたきっかけ
端的に説明すると以下の3点です。
・今までやった事のない仕事をしたい!
・世の中に自分が出した結果、成果を残したい。より多くの人々の目に届
【Rails】Google Mapの表示
#はじめに
Ruby on Rails で ユーザーが入力した住所から、経度と緯度を取得して、Google Map を表示する方法。#開発環境
・Ruby: 2.6.6
・Rails: 5.2.6
・Windows10#APIキーの取得
Google Map Platformにアクセスし、Google Mapを表示させるためのAPIキーを取得。
取得方法はこちら↓の記事を参考に。
https://qiita.com/tiara/items/4a1c98418917a0e74cbb#アプリの作成
Ⅰ.Google Mapを表示させるための簡単なアプリを作成します。“`
$rails new Map_application
“`
Ⅱ.Gemgfileにgeocoderを追加
今回、住所・緯度・経度のカラムを持つmodelを作成するが、ユーザーが住所を入力すれば緯度・経度が自動的に取得され、Google Mapが表示されるようにする。“`ruby:Gemfile
gem ‘geocoder’
“`
“`
$bundle
“`
Ⅲ.modelの作成
名前