Rails関連のことを調べてみた2021年07月21日

Rails関連のことを調べてみた2021年07月21日
目次

IPアドレスでアクセスで制限を行う【Rails】

### 目的 自分のポートフォリオサイトを作る時に、 作品投稿画面に遷移できるIPアドレスを制限したかった為実装しました。 ・開発している環境下でのみのIPアドレスを許可したい。 ・指定したIPアドレス以外はリダイレクトでroot_pathに戻したい。 ### request.ip を使ったメソッドをコントローラーに記述 コントローラーの private メソッド以下に以下の記述をおこないます。 “`ruby:sample_controller.rb private def client_ip request.ip end “` 以上の記述だけで、クライアントのIPアドレスを取得できます。 試しに、indexアクションでインスタンス変数に入れてみます。 “`ruby:sample_controller.rb def index @ip = client_ip end “` viewに読み込んでみます。 “`ruby:index.html.erb <%= @ip %> “` すると、 ![ed300e8acc07a4d358b34ead
元記事を表示

[Rails]RSpecでモデルのテスト(FactoryBot使用)

テストを行うことによって、バグを発見できたり、要件通りに開発できている保証にもなるので、テストはかなり重要なものになります。 RSpecでのモデルのテスト方法を調べた中で、各記事によって方法が違っていたので、今回はFactoryBotを使用したパターンで自分なりにまとめておきます。 ではいってみましょう! #開発環境 > ruby 2.6.3 > Rails 5.2.6 #前提 – FactoryBot使用 – Faker使用 – capybara使用 RSpecの準備、FactoryBotでのテストデータの定義等は、下記記事にまとめてますので、まだの方は先にこちらをどうぞ。 [[Rails]RSpecでテストを行う準備(FactoryBot使用)](https://qiita.com/nakachan1994/items/29369470d50d0fcd0f6c) #モデルのテストとは テスト項目は様々なものがあるのですが、今回はモデルのテストについて解説していきます。 モデルのテストは、そのままモデルに関するテストですw なにかしらの投稿サイトであれば、 フォ
元記事を表示

ruby on rails paramsまとめ〜後半〜


この投稿では、ruby on railsのparamsのあれこれについてまとめます。
少しでも参考になったら幸いです。

paramsのまとめ前半を読まれていない方は、先に前半をご確認ください。

paramsの概念振り返り

早速、データ保存のparamsについて解説する前に、paramsの概念だけ再掲します。
復習の必要がない方は読み飛ばしてくださいね。

身近なゲームの開発で例えてみます。
ゲームソフトの開発者がある追加機能A、追加機能Bを作って世界に公開したとします。
世界中の人は、追加機能をダウンロードして楽しんでいました。
しかし、機能Aがバージョンアップされたので、ダウンロードしたところ、機能Bがうまく

元記事を表示

Railsで架空のCafeのHPを作ってみよう!【9日目】『簡単にGoogleMapを導入』編

#概要 基本Railsの記法に則り書いていきます! 1から全ての説明ではなく その中であれ?どうやるの?と 疑問に思った点や実装に困った箇所を ピックアップして紹介していきます♩ #設定と準備 ・Rails ・HTML ・CSS ・Javascript(jQuery) ↑上記の言語とフレームワークを使い 架空(自分で考えたテキトーなもの)のCafeの HPを作っていこうと思います! #9日目の作業内容:round_pushpin: ・ビューの作成 #9日目の気になった箇所:zap: よく見るGoogleMapを導入したいけど どうしたらいいだろうか。 #仮説:pushpin: 調べた結果APIKeyを導入したり 色々と設定しないといけないので時間がかかってしまうし めんどくさい。 #結論:star: トップページでGoogleMapを動かすことは不可能だが GoogleMapに遷移してもらう方法を取ると 簡単に実装が可能! まずGoogleMapに行き、自分で好きなポイントを選択! ![23ec4248b89f917bdade1b2dac907001.jpeg](http
元記事を表示

初学者による復習[if文を使って条件分岐しよう!]

今回はif文を使って条件分岐をしてみよう! **if文とはなんぞや** ~だったらこのようにしてほしいといった記述のこと。 条件分岐することで ~でなかったらこのようにしてほしいといったことも可能。 https://gyazo.com/f7ff4068f83f2dd245ad0161d4132336 まず今私が実装しているオリジナルアプリのトップページにログインとあると思うが これをログインした際には以下のように表示される項目を変えたい。 https://gyazo.com/e3e2f1ce7b0e8e12b386993fc6b49838 ログアウト、新規投稿が表示されログイン、新規登録が消えていることがご確認いただけるだろうか。 そのためにした記述が以下の記述である。 “`ruby <% if user_signed_in? %>
  • <%= link_to "ログアウト",destroy_user_session_path, method: :delete %>
  • <%= link_to "新規投稿",new_item_path %>
  • 元記事を表示

    BingNewsSearchAPIを使って特定のニュース一覧を表示する

    ### はじめに rubyからBingNewsSearchAPIを使って特定のニュース一覧を表示する方法について ### 前提 ・MicrosoftAzureアカウントにログインしている ### リソースを作成する まずAzureアカウントの検索窓で`Bing Search v7`と検索してリソースを作成するページにいきます。 [![Image from Gyazo](https://i.gyazo.com/3dcba7130779aabab1980e781ea070f8.png)](https://gyazo.com/3dcba7130779aabab1980e781ea070f8) [![Image from Gyazo](https://i.gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e.png)](https://gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e) 入力項目に任意の値をいれてリソースを作成します。 これでキーとエンドポイントが表示されるので保管しておいてください。 ###
    元記事を表示

    AmazonRekognitionを使って画像検索機能を作る

    ### はじめに はじめて外部APIを使ってみたのでその内容を書きます。 ### 順序 1:画像を送信する。 2:送信された画像をawsの`s3`を使って、`bucket`を指定して保存する。 3:rubyから`Amazon Rekogniton`のAPIを叩いて、先程保存した画像を画像認識して、ラベルを取得する。 4:取得したラベルを`Amazon Translate`を使って日本語翻訳して、そのワードを元にフリーワード検索をしてデータを取得する。 ### awsのIAMユーザーの作成 まず、awsの`IAM`にアクセスしてユーザーを作成します。 その際に`Access key ID`と`Secret access key`が作成されるので、保管して置いてください。 また、`Amazon s3`、`Amazon Rekogniton`、`Amazon Translate`を使用するので、それらのアクセス許可のポリシーをアタッチしてください。 詳しい方法についてはドキュメントを参照してください。 [Amazon S3 とは – Amazon Simple St
    元記事を表示

    テストコードでimageが空の時について、エラーになってしまう

    “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image = ” @item.valid? expect(@item.errors.full_messages).to include(“Image can’t be blank”) end “` :エラー文 Failure/Error: expect(@item.errors.full_messages).to include(“Image can’t be blank”) expected [] to include “Image can’t be blank” # ./spec/models/item_spec.rb:22:in `block (4 levels) in “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image
    元記事を表示

    Rails resourcesとは

    ・resoucesとは Railsで定義されている7つのアクションのルーティングを自動で作成するメソッドです。 resoucesを使うことで簡単にルーティングを作成できる. “`routes.rb Rails.application.routes.draw do resources :コントローラー名 end “` ・Railsで定義されている7つのアクション アクション名 役割 index リソースの一覧を表示させる show リソースの詳細を表示させる new 投稿フォームを表示させる create リソースを追加させる edit 更新フォームを表示させる update リソースを更新させる destroy リソースを削除する 複数のコントローラーのルーティングを下のように一行で定義することができます。 “`routes.rb Rails.application.routes.draw do resources :コントローラー名, :コントローラー名 end # (例)officesコントローラーとusersコントローラーの7つのアクションのルーティン
    元記事を表示

    Ruby on Railsにおけるajax処理について

    アプリケーションで取り扱いデータの処理内容が多くなってきたり、大容量データをデータベースとやり取りする時にAjaxを使用してデータ通信をすることでパフォーマンスの改善につながります。 ajaxを使用しないと更新の際データ通信時間が長すぎて503エラーが出たりするのに対して、ajax処理を導入することでエラーを回避したりできるメリットなどもあるようです。 #環境情報 まず環境によってコードの書き方などが変わって来るらしいので私のrails環境を記入しときます。 ruby2.6.5 rails 6.0.4 #基本的なajaxの使い方 railsに限らずajaxの一般的な使い方はこちらのような内容になります。 一般的なアプリケーションだとボタンなどをクリックするアクションをしてから読み込み処理をしてそれからサーバー再度でどのような返答をすればいいかの処理を決めてという風なやり取りをスレうするのに対してajaxだとユーザーからのアクションをしなくてもJavaScript側から取得できるすべての
    元記事を表示

    【Rails】特定のroutesのみを表示する方法

    ####My Profile プログラミング学習歴②ヶ月目のアカウントです! プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。 また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。 もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。  #対象者 * rails routesをよく使用する方 #目的 * grepを使って特定のroutesのみを表示して探す手間を省く #実際の手順と実例 ###1.特定のroutesのみ取得 “`terminal. rails routes | grep hoge “` * チームで開発する際にroutesが多すぎて探すのに時間がかかっている方にかなりおすすめです! * **hoge**部分にはroutes上に存在する文字列であれば表示できます! 活用してスムーズな開発につなげてください!! #参照 >[bundle exec rails routesで特定のroutesのみ表示する](https://qi
    元記事を表示

    [Rails] ActiveStrageの画像の保存先をAmazon S3にする②~バケット作成~

    ##はじめに 前回の続きです。AmazonS3に画像を保存するために、保存先であるバケットを作成します。 ##バケットの作成 AWSにルートユーザーでログインします。 検索フォームにS3と入力して、S3をクリックします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1552346/e38deb09-db31-6c3f-8996-6d9c74da49d0.png) バケットを作成と書かれたボタンをクリックします。 バケット名を入力します。名前は自由に決めて大丈夫です。 リージョンというところは「アジアパシフィック(東京) ap-northeast-1」を選択してください。 ブロックパブリックアクセスのバケット設定というところですが、 まず、**「パブリックアクセスを全てブロック」**のチェックを外し、 **「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」** と **「任意のパブリッ
    元記事を表示

    【Rails】validates :, presence: true の意味

    ## 背景 Railsのコードを読んでいて`validates :, presence: true`というコードを見つけ、このシンタックスがわからなかったので調べてみることにしました。 ## Validations ### presence Railsガイドに記載されていたコードですが、以下のようにPersonクラス内でname属性に対してvalidationを設定したとします。 “`ruby class Person < ApplicationRecord validates :name, presence: true end ``` これによってレコード作成時にname属性がnilの場合、レコードが作成されなくなり、かつvalid?メソッドがfalseを返すような挙動に変わります。 ```ruby Person.create(name: "Bob").valid? # => true Person.create(name: nil).valid? # => false “` 参考文献: – [Active Record Valid
    元記事を表示

    ActiveHashの特定の数字を表示させない(条件分岐)

    #はじめに ![スクリーンショット 2021-07-20 19.52.30(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/d25d4289-5da3-e119-7d27-0b325c5531dd.png) ![スクリーンショット 2021-07-20 19.52.54(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/00ce6d09-2d25-1183-e73a-92fed6949612.png) “`hotel_type.rb class HotelType < ActiveHash::Base self.data = [ { id: 1, name: '選択して下さい' }, { id: 2, name: '宿泊施設ではない' }, { id: 3, name: 'ホテル' }, { id: 4, name: '旅館' },
    元記事を表示

    herokuでアプリを修正して更新するとき

    >herokuでアプリを公開しているものを更新するとき まずherokuは**「gitと連携して、gitに保存した内容をデプロイ」**している。 なので、変更したいときは次のコマンドを使う “`:terminal % git add -A % git commit -m “Update application” % git push heroku master “` またテーブル追加や内容変更などをした場合は次のコマンドも実行する “`:terminal % heroku run rails db:migrate “`
    元記事を表示

    railsコンソール:実行環境の切替え

    # はじめに テストコードを書く際に、データベースに値を入れて検証したいと思ったが コンソールがデフォルトだとdevelopment(開発環境)だと気づく。 テスト環境や本番環境など、別環境への切替方法を調べたので 記録として残しておく。 **■使用データベース: MySQL** # 実行環境の種類 実行環境は3つ存在するので、状況に応じて切り替えする。 1. 開発環境 (development) 2. テスト環境 (test) 3. 本番環境 (production) # コンソール 記述したコードが正しく動作しているかを確認するもの。 `rails c`コマンドで起動できる。 ただし、デフォルトは開発環境。 “` % rails c Running via Spring preloader in process 25986 Loading development environment (Rails 6.1.4) irb(main):001:0> “` # 現況確認 コンソール画面で、`Rails.env`コマンドで実行すると 現在の実行
    元記事を表示

    rails ルーティング確認

    # rails ルーティング  アプリケーションに設定されているルーティングを調べることができます。 “`:ターミナル $ rake routes $ rails routes # またはこちらのコマンド “` 下の図の通り出ていれば、設定の確認が出来ます。 “`:ターミナル                Prefix Verb URI Pattern Controller#Action root GET / tweets#index tweets GET /tweets(.:format)
    元記事を表示

    例えば、RubyではRuby on Railsを用いて、Webアプリを制作し

    元記事を表示

    Homebrewについて

    この投稿では、MacのパッケージマネージャーであるHomebrewの使い方や注意点、困ったときにやることをまとめます。 MACでOSがCatalina以降の方を対象としています。WindonsPCの方や、OSのバージョンがMojava以前の方はご注意ください。

    Homebrewとは

    Homebrewとは、Macのパッケージマネージャーです。

    世界中で開発されている便利なライブラリをうまいこと全部使えるようにしてくれる調整役をイメージしていただけると良いかと思います。

    身近なゲームの開発で例えてみます。
    ゲームソフトの開発者がある追加機能A、追加機能Bを作って世界に公開したとします。
    世界中の人は、追加機能をダウンロードして楽しんでいました。
    しかし、機能Aがバージョンアップされたので、ダウンロードしたところ、機能Bがうまく

    元記事を表示

    Railsで架空のCafeのHPを作ってみよう!【9日目】『簡単にGoogleMapを導入』編

    #概要 基本Railsの記法に則り書いていきます! 1から全ての説明ではなく その中であれ?どうやるの?と 疑問に思った点や実装に困った箇所を ピックアップして紹介していきます♩ #設定と準備 ・Rails ・HTML ・CSS ・Javascript(jQuery) ↑上記の言語とフレームワークを使い 架空(自分で考えたテキトーなもの)のCafeの HPを作っていこうと思います! #9日目の作業内容:round_pushpin: ・ビューの作成 #9日目の気になった箇所:zap: よく見るGoogleMapを導入したいけど どうしたらいいだろうか。 #仮説:pushpin: 調べた結果APIKeyを導入したり 色々と設定しないといけないので時間がかかってしまうし めんどくさい。 #結論:star: トップページでGoogleMapを動かすことは不可能だが GoogleMapに遷移してもらう方法を取ると 簡単に実装が可能! まずGoogleMapに行き、自分で好きなポイントを選択! ![23ec4248b89f917bdade1b2dac907001.jpeg](http
    元記事を表示

    初学者による復習[if文を使って条件分岐しよう!]

    今回はif文を使って条件分岐をしてみよう! **if文とはなんぞや** ~だったらこのようにしてほしいといった記述のこと。 条件分岐することで ~でなかったらこのようにしてほしいといったことも可能。 https://gyazo.com/f7ff4068f83f2dd245ad0161d4132336 まず今私が実装しているオリジナルアプリのトップページにログインとあると思うが これをログインした際には以下のように表示される項目を変えたい。 https://gyazo.com/e3e2f1ce7b0e8e12b386993fc6b49838 ログアウト、新規投稿が表示されログイン、新規登録が消えていることがご確認いただけるだろうか。 そのためにした記述が以下の記述である。 “`ruby <% if user_signed_in? %>
  • <%= link_to "ログアウト",destroy_user_session_path, method: :delete %>
  • <%= link_to "新規投稿",new_item_path %>
  • 元記事を表示

    BingNewsSearchAPIを使って特定のニュース一覧を表示する

    ### はじめに rubyからBingNewsSearchAPIを使って特定のニュース一覧を表示する方法について ### 前提 ・MicrosoftAzureアカウントにログインしている ### リソースを作成する まずAzureアカウントの検索窓で`Bing Search v7`と検索してリソースを作成するページにいきます。 [![Image from Gyazo](https://i.gyazo.com/3dcba7130779aabab1980e781ea070f8.png)](https://gyazo.com/3dcba7130779aabab1980e781ea070f8) [![Image from Gyazo](https://i.gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e.png)](https://gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e) 入力項目に任意の値をいれてリソースを作成します。 これでキーとエンドポイントが表示されるので保管しておいてください。 ###
    元記事を表示

    AmazonRekognitionを使って画像検索機能を作る

    ### はじめに はじめて外部APIを使ってみたのでその内容を書きます。 ### 順序 1:画像を送信する。 2:送信された画像をawsの`s3`を使って、`bucket`を指定して保存する。 3:rubyから`Amazon Rekogniton`のAPIを叩いて、先程保存した画像を画像認識して、ラベルを取得する。 4:取得したラベルを`Amazon Translate`を使って日本語翻訳して、そのワードを元にフリーワード検索をしてデータを取得する。 ### awsのIAMユーザーの作成 まず、awsの`IAM`にアクセスしてユーザーを作成します。 その際に`Access key ID`と`Secret access key`が作成されるので、保管して置いてください。 また、`Amazon s3`、`Amazon Rekogniton`、`Amazon Translate`を使用するので、それらのアクセス許可のポリシーをアタッチしてください。 詳しい方法についてはドキュメントを参照してください。 [Amazon S3 とは – Amazon Simple St
    元記事を表示

    テストコードでimageが空の時について、エラーになってしまう

    “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image = ” @item.valid? expect(@item.errors.full_messages).to include(“Image can’t be blank”) end “` :エラー文 Failure/Error: expect(@item.errors.full_messages).to include(“Image can’t be blank”) expected [] to include “Image can’t be blank” # ./spec/models/item_spec.rb:22:in `block (4 levels) in “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image
    元記事を表示

    Rails resourcesとは

    ・resoucesとは Railsで定義されている7つのアクションのルーティングを自動で作成するメソッドです。 resoucesを使うことで簡単にルーティングを作成できる. “`routes.rb Rails.application.routes.draw do resources :コントローラー名 end “` ・Railsで定義されている7つのアクション アクション名 役割 index リソースの一覧を表示させる show リソースの詳細を表示させる new 投稿フォームを表示させる create リソースを追加させる edit 更新フォームを表示させる update リソースを更新させる destroy リソースを削除する 複数のコントローラーのルーティングを下のように一行で定義することができます。 “`routes.rb Rails.application.routes.draw do resources :コントローラー名, :コントローラー名 end # (例)officesコントローラーとusersコントローラーの7つのアクションのルーティン
    元記事を表示

    Ruby on Railsにおけるajax処理について

    アプリケーションで取り扱いデータの処理内容が多くなってきたり、大容量データをデータベースとやり取りする時にAjaxを使用してデータ通信をすることでパフォーマンスの改善につながります。 ajaxを使用しないと更新の際データ通信時間が長すぎて503エラーが出たりするのに対して、ajax処理を導入することでエラーを回避したりできるメリットなどもあるようです。 #環境情報 まず環境によってコードの書き方などが変わって来るらしいので私のrails環境を記入しときます。 ruby2.6.5 rails 6.0.4 #基本的なajaxの使い方 railsに限らずajaxの一般的な使い方はこちらのような内容になります。 一般的なアプリケーションだとボタンなどをクリックするアクションをしてから読み込み処理をしてそれからサーバー再度でどのような返答をすればいいかの処理を決めてという風なやり取りをスレうするのに対してajaxだとユーザーからのアクションをしなくてもJavaScript側から取得できるすべての
    元記事を表示

    【Rails】特定のroutesのみを表示する方法

    ####My Profile プログラミング学習歴②ヶ月目のアカウントです! プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。 また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。 もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。  #対象者 * rails routesをよく使用する方 #目的 * grepを使って特定のroutesのみを表示して探す手間を省く #実際の手順と実例 ###1.特定のroutesのみ取得 “`terminal. rails routes | grep hoge “` * チームで開発する際にroutesが多すぎて探すのに時間がかかっている方にかなりおすすめです! * **hoge**部分にはroutes上に存在する文字列であれば表示できます! 活用してスムーズな開発につなげてください!! #参照 >[bundle exec rails routesで特定のroutesのみ表示する](https://qi
    元記事を表示

    [Rails] ActiveStrageの画像の保存先をAmazon S3にする②~バケット作成~

    ##はじめに 前回の続きです。AmazonS3に画像を保存するために、保存先であるバケットを作成します。 ##バケットの作成 AWSにルートユーザーでログインします。 検索フォームにS3と入力して、S3をクリックします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1552346/e38deb09-db31-6c3f-8996-6d9c74da49d0.png) バケットを作成と書かれたボタンをクリックします。 バケット名を入力します。名前は自由に決めて大丈夫です。 リージョンというところは「アジアパシフィック(東京) ap-northeast-1」を選択してください。 ブロックパブリックアクセスのバケット設定というところですが、 まず、**「パブリックアクセスを全てブロック」**のチェックを外し、 **「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」** と **「任意のパブリッ
    元記事を表示

    【Rails】validates :, presence: true の意味

    ## 背景 Railsのコードを読んでいて`validates :, presence: true`というコードを見つけ、このシンタックスがわからなかったので調べてみることにしました。 ## Validations ### presence Railsガイドに記載されていたコードですが、以下のようにPersonクラス内でname属性に対してvalidationを設定したとします。 “`ruby class Person < ApplicationRecord validates :name, presence: true end ``` これによってレコード作成時にname属性がnilの場合、レコードが作成されなくなり、かつvalid?メソッドがfalseを返すような挙動に変わります。 ```ruby Person.create(name: "Bob").valid? # => true Person.create(name: nil).valid? # => false “` 参考文献: – [Active Record Valid
    元記事を表示

    ActiveHashの特定の数字を表示させない(条件分岐)

    #はじめに ![スクリーンショット 2021-07-20 19.52.30(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/d25d4289-5da3-e119-7d27-0b325c5531dd.png) ![スクリーンショット 2021-07-20 19.52.54(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/00ce6d09-2d25-1183-e73a-92fed6949612.png) “`hotel_type.rb class HotelType < ActiveHash::Base self.data = [ { id: 1, name: '選択して下さい' }, { id: 2, name: '宿泊施設ではない' }, { id: 3, name: 'ホテル' }, { id: 4, name: '旅館' },
    元記事を表示

    herokuでアプリを修正して更新するとき

    >herokuでアプリを公開しているものを更新するとき まずherokuは**「gitと連携して、gitに保存した内容をデプロイ」**している。 なので、変更したいときは次のコマンドを使う “`:terminal % git add -A % git commit -m “Update application” % git push heroku master “` またテーブル追加や内容変更などをした場合は次のコマンドも実行する “`:terminal % heroku run rails db:migrate “`
    元記事を表示

    railsコンソール:実行環境の切替え

    # はじめに テストコードを書く際に、データベースに値を入れて検証したいと思ったが コンソールがデフォルトだとdevelopment(開発環境)だと気づく。 テスト環境や本番環境など、別環境への切替方法を調べたので 記録として残しておく。 **■使用データベース: MySQL** # 実行環境の種類 実行環境は3つ存在するので、状況に応じて切り替えする。 1. 開発環境 (development) 2. テスト環境 (test) 3. 本番環境 (production) # コンソール 記述したコードが正しく動作しているかを確認するもの。 `rails c`コマンドで起動できる。 ただし、デフォルトは開発環境。 “` % rails c Running via Spring preloader in process 25986 Loading development environment (Rails 6.1.4) irb(main):001:0> “` # 現況確認 コンソール画面で、`Rails.env`コマンドで実行すると 現在の実行
    元記事を表示

    rails ルーティング確認

    # rails ルーティング  アプリケーションに設定されているルーティングを調べることができます。 “`:ターミナル $ rake routes $ rails routes # またはこちらのコマンド “` 下の図の通り出ていれば、設定の確認が出来ます。 “`:ターミナル                Prefix Verb URI Pattern Controller#Action root GET / tweets#index tweets GET /tweets(.:format)
    元記事を表示

    paramsとは、どの画面を表示するか指定したり、データを保存するために、

    元記事を表示

    ruby on rails paramsまとめ〜前半〜


    この投稿では、ruby on railsのparamsのあれこれについてまとめます。
    少しでも参考になったら幸いです。

    paramsとは

    paramsとは、どの画面を表示するか指定したり、データを保存するために、
    クライアントから送られるデータ郡です。
    ruby on railsは、MVCモデルでデータを送受信するので、paramsがどこからどこに渡されているかを
    MVCの図で表してみます。

    例えば、RubyではRuby on Railsを用いて、Webアプリを制作し

    元記事を表示

    Homebrewについて

    この投稿では、MacのパッケージマネージャーであるHomebrewの使い方や注意点、困ったときにやることをまとめます。 MACでOSがCatalina以降の方を対象としています。WindonsPCの方や、OSのバージョンがMojava以前の方はご注意ください。

    Homebrewとは

    Homebrewとは、Macのパッケージマネージャーです。

    世界中で開発されている便利なライブラリをうまいこと全部使えるようにしてくれる調整役をイメージしていただけると良いかと思います。

    身近なゲームの開発で例えてみます。
    ゲームソフトの開発者がある追加機能A、追加機能Bを作って世界に公開したとします。
    世界中の人は、追加機能をダウンロードして楽しんでいました。
    しかし、機能Aがバージョンアップされたので、ダウンロードしたところ、機能Bがうまく

    元記事を表示

    Railsで架空のCafeのHPを作ってみよう!【9日目】『簡単にGoogleMapを導入』編

    #概要 基本Railsの記法に則り書いていきます! 1から全ての説明ではなく その中であれ?どうやるの?と 疑問に思った点や実装に困った箇所を ピックアップして紹介していきます♩ #設定と準備 ・Rails ・HTML ・CSS ・Javascript(jQuery) ↑上記の言語とフレームワークを使い 架空(自分で考えたテキトーなもの)のCafeの HPを作っていこうと思います! #9日目の作業内容:round_pushpin: ・ビューの作成 #9日目の気になった箇所:zap: よく見るGoogleMapを導入したいけど どうしたらいいだろうか。 #仮説:pushpin: 調べた結果APIKeyを導入したり 色々と設定しないといけないので時間がかかってしまうし めんどくさい。 #結論:star: トップページでGoogleMapを動かすことは不可能だが GoogleMapに遷移してもらう方法を取ると 簡単に実装が可能! まずGoogleMapに行き、自分で好きなポイントを選択! ![23ec4248b89f917bdade1b2dac907001.jpeg](http
    元記事を表示

    初学者による復習[if文を使って条件分岐しよう!]

    今回はif文を使って条件分岐をしてみよう! **if文とはなんぞや** ~だったらこのようにしてほしいといった記述のこと。 条件分岐することで ~でなかったらこのようにしてほしいといったことも可能。 https://gyazo.com/f7ff4068f83f2dd245ad0161d4132336 まず今私が実装しているオリジナルアプリのトップページにログインとあると思うが これをログインした際には以下のように表示される項目を変えたい。 https://gyazo.com/e3e2f1ce7b0e8e12b386993fc6b49838 ログアウト、新規投稿が表示されログイン、新規登録が消えていることがご確認いただけるだろうか。 そのためにした記述が以下の記述である。 “`ruby <% if user_signed_in? %>
  • <%= link_to "ログアウト",destroy_user_session_path, method: :delete %>
  • <%= link_to "新規投稿",new_item_path %>
  • 元記事を表示

    BingNewsSearchAPIを使って特定のニュース一覧を表示する

    ### はじめに rubyからBingNewsSearchAPIを使って特定のニュース一覧を表示する方法について ### 前提 ・MicrosoftAzureアカウントにログインしている ### リソースを作成する まずAzureアカウントの検索窓で`Bing Search v7`と検索してリソースを作成するページにいきます。 [![Image from Gyazo](https://i.gyazo.com/3dcba7130779aabab1980e781ea070f8.png)](https://gyazo.com/3dcba7130779aabab1980e781ea070f8) [![Image from Gyazo](https://i.gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e.png)](https://gyazo.com/4a4c3b62a37a271f1a2cb5d75971913e) 入力項目に任意の値をいれてリソースを作成します。 これでキーとエンドポイントが表示されるので保管しておいてください。 ###
    元記事を表示

    AmazonRekognitionを使って画像検索機能を作る

    ### はじめに はじめて外部APIを使ってみたのでその内容を書きます。 ### 順序 1:画像を送信する。 2:送信された画像をawsの`s3`を使って、`bucket`を指定して保存する。 3:rubyから`Amazon Rekogniton`のAPIを叩いて、先程保存した画像を画像認識して、ラベルを取得する。 4:取得したラベルを`Amazon Translate`を使って日本語翻訳して、そのワードを元にフリーワード検索をしてデータを取得する。 ### awsのIAMユーザーの作成 まず、awsの`IAM`にアクセスしてユーザーを作成します。 その際に`Access key ID`と`Secret access key`が作成されるので、保管して置いてください。 また、`Amazon s3`、`Amazon Rekogniton`、`Amazon Translate`を使用するので、それらのアクセス許可のポリシーをアタッチしてください。 詳しい方法についてはドキュメントを参照してください。 [Amazon S3 とは – Amazon Simple St
    元記事を表示

    テストコードでimageが空の時について、エラーになってしまう

    “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image = ” @item.valid? expect(@item.errors.full_messages).to include(“Image can’t be blank”) end “` :エラー文 Failure/Error: expect(@item.errors.full_messages).to include(“Image can’t be blank”) expected [] to include “Image can’t be blank” # ./spec/models/item_spec.rb:22:in `block (4 levels) in “`ruby:spec>models>item_spec.rb it “imageが空だと登録できない” do @item.image
    元記事を表示

    Rails resourcesとは

    ・resoucesとは Railsで定義されている7つのアクションのルーティングを自動で作成するメソッドです。 resoucesを使うことで簡単にルーティングを作成できる. “`routes.rb Rails.application.routes.draw do resources :コントローラー名 end “` ・Railsで定義されている7つのアクション アクション名 役割 index リソースの一覧を表示させる show リソースの詳細を表示させる new 投稿フォームを表示させる create リソースを追加させる edit 更新フォームを表示させる update リソースを更新させる destroy リソースを削除する 複数のコントローラーのルーティングを下のように一行で定義することができます。 “`routes.rb Rails.application.routes.draw do resources :コントローラー名, :コントローラー名 end # (例)officesコントローラーとusersコントローラーの7つのアクションのルーティン
    元記事を表示

    Ruby on Railsにおけるajax処理について

    アプリケーションで取り扱いデータの処理内容が多くなってきたり、大容量データをデータベースとやり取りする時にAjaxを使用してデータ通信をすることでパフォーマンスの改善につながります。 ajaxを使用しないと更新の際データ通信時間が長すぎて503エラーが出たりするのに対して、ajax処理を導入することでエラーを回避したりできるメリットなどもあるようです。 #環境情報 まず環境によってコードの書き方などが変わって来るらしいので私のrails環境を記入しときます。 ruby2.6.5 rails 6.0.4 #基本的なajaxの使い方 railsに限らずajaxの一般的な使い方はこちらのような内容になります。 一般的なアプリケーションだとボタンなどをクリックするアクションをしてから読み込み処理をしてそれからサーバー再度でどのような返答をすればいいかの処理を決めてという風なやり取りをスレうするのに対してajaxだとユーザーからのアクションをしなくてもJavaScript側から取得できるすべての
    元記事を表示

    【Rails】特定のroutesのみを表示する方法

    ####My Profile プログラミング学習歴②ヶ月目のアカウントです! プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。 また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。 もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。  #対象者 * rails routesをよく使用する方 #目的 * grepを使って特定のroutesのみを表示して探す手間を省く #実際の手順と実例 ###1.特定のroutesのみ取得 “`terminal. rails routes | grep hoge “` * チームで開発する際にroutesが多すぎて探すのに時間がかかっている方にかなりおすすめです! * **hoge**部分にはroutes上に存在する文字列であれば表示できます! 活用してスムーズな開発につなげてください!! #参照 >[bundle exec rails routesで特定のroutesのみ表示する](https://qi
    元記事を表示

    [Rails] ActiveStrageの画像の保存先をAmazon S3にする②~バケット作成~

    ##はじめに 前回の続きです。AmazonS3に画像を保存するために、保存先であるバケットを作成します。 ##バケットの作成 AWSにルートユーザーでログインします。 検索フォームにS3と入力して、S3をクリックします。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1552346/e38deb09-db31-6c3f-8996-6d9c74da49d0.png) バケットを作成と書かれたボタンをクリックします。 バケット名を入力します。名前は自由に決めて大丈夫です。 リージョンというところは「アジアパシフィック(東京) ap-northeast-1」を選択してください。 ブロックパブリックアクセスのバケット設定というところですが、 まず、**「パブリックアクセスを全てブロック」**のチェックを外し、 **「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」** と **「任意のパブリッ
    元記事を表示

    【Rails】validates :, presence: true の意味

    ## 背景 Railsのコードを読んでいて`validates :, presence: true`というコードを見つけ、このシンタックスがわからなかったので調べてみることにしました。 ## Validations ### presence Railsガイドに記載されていたコードですが、以下のようにPersonクラス内でname属性に対してvalidationを設定したとします。 “`ruby class Person < ApplicationRecord validates :name, presence: true end ``` これによってレコード作成時にname属性がnilの場合、レコードが作成されなくなり、かつvalid?メソッドがfalseを返すような挙動に変わります。 ```ruby Person.create(name: "Bob").valid? # => true Person.create(name: nil).valid? # => false “` 参考文献: – [Active Record Valid
    元記事を表示

    ActiveHashの特定の数字を表示させない(条件分岐)

    #はじめに ![スクリーンショット 2021-07-20 19.52.30(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/d25d4289-5da3-e119-7d27-0b325c5531dd.png) ![スクリーンショット 2021-07-20 19.52.54(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1264460/00ce6d09-2d25-1183-e73a-92fed6949612.png) “`hotel_type.rb class HotelType < ActiveHash::Base self.data = [ { id: 1, name: '選択して下さい' }, { id: 2, name: '宿泊施設ではない' }, { id: 3, name: 'ホテル' }, { id: 4, name: '旅館' },
    元記事を表示

    herokuでアプリを修正して更新するとき

    >herokuでアプリを公開しているものを更新するとき まずherokuは**「gitと連携して、gitに保存した内容をデプロイ」**している。 なので、変更したいときは次のコマンドを使う “`:terminal % git add -A % git commit -m “Update application” % git push heroku master “` またテーブル追加や内容変更などをした場合は次のコマンドも実行する “`:terminal % heroku run rails db:migrate “`
    元記事を表示

    railsコンソール:実行環境の切替え

    # はじめに テストコードを書く際に、データベースに値を入れて検証したいと思ったが コンソールがデフォルトだとdevelopment(開発環境)だと気づく。 テスト環境や本番環境など、別環境への切替方法を調べたので 記録として残しておく。 **■使用データベース: MySQL** # 実行環境の種類 実行環境は3つ存在するので、状況に応じて切り替えする。 1. 開発環境 (development) 2. テスト環境 (test) 3. 本番環境 (production) # コンソール 記述したコードが正しく動作しているかを確認するもの。 `rails c`コマンドで起動できる。 ただし、デフォルトは開発環境。 “` % rails c Running via Spring preloader in process 25986 Loading development environment (Rails 6.1.4) irb(main):001:0> “` # 現況確認 コンソール画面で、`Rails.env`コマンドで実行すると 現在の実行
    元記事を表示

    rails ルーティング確認

    # rails ルーティング  アプリケーションに設定されているルーティングを調べることができます。 “`:ターミナル $ rake routes $ rails routes # またはこちらのコマンド “` 下の図の通り出ていれば、設定の確認が出来ます。 “`:ターミナル                Prefix Verb URI Pattern Controller#Action root GET / tweets#index tweets GET /tweets(.:format)
    元記事を表示

    OTHERカテゴリの最新記事