- 1. 詳細ページ
- 1.0.1. gem install mailcactherで起きたエラーを解決する
- 1.0.2. [Ruby] Float#ceilメソッド
- 1.0.3. 【Rails】strong parametersからHashを生成する方法のまとめ
- 1.0.4. ストロングパラメータ覚えづらい
- 1.0.5. Rails インクリメンタルサーチ
- 1.0.6. pybind11とRiceを比較しながら触ってみる
- 1.0.7. 「The asset “画像名” is not present in the asset pipeline」Herokuエラー(メモ)
- 1.0.8. with_indexメソッドについて
- 1.0.9. 7章 バーチャルマシン#1 スタック操作
- 1.0.10. fastlaneでAppStoreのPrivacyDetails(プライバシー詳細情報)を管理する
- 1.0.11. [ransack]複雑な検索機能の実装
- 1.0.12. [Ruby] shiftメソッド
- 1.0.13. 教員専用のコミュニティサイトを作ってみました。
- 1.0.14. 【Rails】Your Ruby version is 3.0.2, but your Gemfile specified 2.7.2の対処法
- 1.1. 症状
- 1.2. 解決策
メソッドについて
メソッドとは、rubyにおける関数を指す。
メソッドには、①関数型メソッド、②インスタンスメソッド、③クラスメソッドの3つの分類がある。
それぞれの使用は、
①メソッド(引数1,引数2,….)
②オブジェクト.メソッド(引数1,引数2,….)
③クラス.メソッド(引数1,引数2,….)
である。
railsを使用していると、このこの形が頻発しているが、特に、ドットの利用はメソッドの呼び出しであると考える。
【Rails】プロフィール画像丸くサイズや形(メモ)
#目標
#### 円or丸の中に画像を表示する。![スクリーンショット 2021-09-05 4.50.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1927584/27d1d816-799b-73f9-9f66-669ba4402013.png)
#前提
* 画像投稿機能実装済み
* CarrierWaveは導入済み#実装
cssは使用せず今回はimage_tagの後に円形の指定`”rounded-circle”`とサイズを指定しています。
これだけです。
あとif文で画像を指定した場合と指定されなっかた場合でで分けて指定してない場合はデフォルト画像になるように指定しています。“`erb:app/views/users/show.html.erb
<%= @user.name %>詳細ページ
<% if @user.image? %>
gem install mailcactherで起きたエラーを解決する
## mailcactherをインストールしたい
## やったこと
“`gem install mailcacther“`
を実行してmailcactherをインストールしようとする(ちなみに、mailcactherはbundleを使ってインストールすると不具合が生じるらしい)
エラー発生
“`
1 warning and 2 errors generated.
make: *** [parser.o] Error 1
“`以下のコマンドを打つ
“`
gem install thin -v ‘1.5.1’ — –with-cflags=”-Wno-error=implicit-function-declaration”
“`またエラー発生
“`
Permission denied @ rb_sysopen – /Users/nagaoka/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/thin-1.5.1/CHANGELOG
“`
権限を許可しないといけないらしい。
sudoをつけて権
[Ruby] Float#ceilメソッド
##はじめに
競プロ問題を解いているときに見つけたメソッド「Float#ceil」メソッドを紹介します・##Float#ceil
簡単に言えば小数を繰り上げるメソッドです。(引数に負の整数を渡せば0より大きい桁も繰り上げの指定ができます。)
“`ruby
1.1.ceil
=> 21.3.ceil
=> 22.0.ceil
=> 2
“`通常の使い方といえば上記のような使い方でしょうか。
もし小数第二まで繰り上げとかなら引数で指定できます。
“`ruby
1.2345.ceil(2)
=> 1.24
“`こんな感じです。
小数点の「.」を軸に正の整数を渡せば右に数字を指定できるイメージ。
逆に負の整数を渡せば0よりも大きい数の桁を繰り上げることができるといえます。
注意が必要なのは負の整数の場合は引数のn番目を繰り上げ、正の整数を渡したときは小数のn番目までになることです。“`ruby
1234.56.ceil(-2)
=> 1300
“`
【Rails】strong parametersからHashを生成する方法のまとめ
# 概要
Strong parameterをハッシュ化する方法と注意点のまとめです。
Railsのソースコードを引用しながら説明します。## 許可されているパラメータのみハッシュ化したい
### to_hを使う
to_hを使えば、許可されたパラメータ(key)のみのハッシュ(HashWithIndifferentAccess)を取得する事ができます。メソッドの定義は以下のようになっており、permitted?がtrueで無ければUnfilteredParametersをraiseします。 このメソッドを使う方法ではpermitメソッドを予め実行しておく必要があるため、取得できるのは許可されたパラメータのみのハッシュという事になります。
“`ruby
# strong_parameter.rbのto_hメソッド
def to_h
if permitted?
convert_parameters_to_hashes(@parameters, :to_h)
else
raise UnfilteredParameters
end
end
“`以下
ストロングパラメータ覚えづらい
掲題の通りでヒィヒィ言ってる。
以下備忘録。#1. ストロングパラメータって何だっけ
意図しないDBの読み書きを防ぐのがストロングパラメータ。createアクションを元にフォームなどから送られてきたパラメータをレコードに保存するときに、受け取るパラメータを制限するもの。“`ruby
params.require(:モデル名).permit(:キー名, :キー名…..)
“`
このように指定していく。例えば、modelというモデルでやりとりできるデータベースに{sample1:”hogehoge”,sample2:”fugafuga”}というレコードがあるとして“`ruby
params.require(:model)
#=> {sample1:”hogehoge”,sample2:”fugafuga”}
params.require(:model).permit(:sample2)
#=> {sample2:”fugafuga”}
“`
上記のようなことが起こる。params.requireの内容からキーを指定すると、指定したもの以外のキーは一切受け付けなく
Rails インクリメンタルサーチ
####はじめに
今回はインクリメンタルサーチについて書いていきたいと思います。
[Rails 無限スクロール(gem、ライブラリ無し)](https://qiita.com/223yuta/items/3be7fb632f3ef49d008e)の際に作成したサンプルアプリケーションに機能を追加していきます。(前提条件(無限スクロール実装前)の時点から作業開始)####インクリメンタルサーチとは
アプリケーションにおける検索方法のひとつ。検索したい単語をすべて入力した上で検索するのではなく、入力のたびごとに即座に候補を表示させる。逐語検索、逐次検索とも。
>引用
>[Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%81)####インクリメンタルサーチ機能の作成
まずは普通の検索機能を作成し、その後インクリメンタルサーチ機能に変更していきたいと思います。
pybind11とRiceを比較しながら触ってみる
## はじめに
最近仕事でpybind11をよくさわっておりまして。(binding部分)フルスクラッチでpybind11を使ったPythonライブラリを作ってみたいと思いました。ついでにpybind11と似た方法でRubyライブラリを作れるRiceにも触れておきたいと思いました。
## TL;DR
– https://github.com/cielavenir/python-slz
– https://github.com/cielavenir/ruby-slz## 作るもの
[libslz](http://www.libslz.org/)のバインディングとします[^1]。C++のクラスのコンストラクタでslz_initを呼び出し、compressメソッドでslz_encode、flushメソッドでslz_finishを呼び出すとします。
テストコードは、libslzの返した値をzlibで展開できれば良いものとします。圧縮前のデータには http://eforexcel.com/wp/downloads-18-sample-csv-files-data-sets-fo
「The asset “画像名” is not present in the asset pipeline」Herokuエラー(メモ)
#エラー内容
Herokuに本番環境構築後、確認時に以下の画面に遷移。![スクリーンショット 2021-09-04 16.58.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1241122/4ad579e4-8967-9431-0d97-9dbda2267d53.png)
`$ heroku logs -t`でログを確認。
“`rb
The asset “camera.jpeg” is not present in the asset pipeline
“`訳すと。。。
>アセット「camera.jpeg」がアセットパイプラインに存在しない#解決方法
`production.rb`を修正。
本番環境でレイアウトが崩れた際に使用する。“`rb
config.assets.compile = true
“`以上。
with_indexメソッドについて
皆様こんにちは、プレイライフの熊崎です!
本日2本目の記事はwith_indexメソッドについて書こうと思います。
## with_indexメソッドとは
> 生成時のパラメータに従って、要素にインデックスを添えて繰り返します。インデックスは offset から始まります。
ブロックを指定した場合の戻り値は生成時に指定したレシーバ自身です。
参考URL: https://docs.ruby-lang.org/ja/latest/method/Enumerator/i/with_index.html## どのようなタイミングで使用するのか?
→ 繰り返し処理の最中に、index(添字)を使用したいとき### 具体例
あるイベントの開催候補日の配列を、`第一希望: 2021年9月5日`のように、添字も含めた文字列を表示したいとき“`sample.rb
candidate_dates = [‘2021年9月5日’, ‘2021年9月6日’, ‘2021年9月7日’]
candidate_dates.each.with_index(1) do |date, index|
7章 バーチャルマシン#1 スタック操作
# はじめに
これは、「コンピュータシステムの理論と実装」(以下「Nand2Tetris」という)の第7章 バーチャルマシン#1スタック操作のプロジェクトに対するレポートである。
Qiitaでは、画像の利用に制約があるため、フローチャートなど掲載することは省いている。
# プロジェクトに対するレポート
## 目標
* VMをHackコンピュータで動作させる
* 「スタック算術」と「メモリアクセス」を実装する## 材料
* Nand2Tetrisで定義しているアセンブラのAPI(仕様)
* Nand2Tetrisで定義しているVM仕様
* Ruby
* アセンブラ
* CPUエミュレータ
* ハードウェアエミュレータ## 実装
Nand2Tetrisのアセンブラは文字列の変換のため、スクリプト言語が適していると考え、Rubyにより作成することとする。### Parserモジュール
* Rubyのクラスにより実装する
* API仕様のルーチンは、メソッドにより実装する###コンストラクタ
アセンブラせ作成したときのメソッドを再利用している。
File.openに
fastlaneでAppStoreのPrivacyDetails(プライバシー詳細情報)を管理する
## 概要
2021/08 現在での `fastlane` アクションを利用したAppStoreプライバシー詳細情報のダウンロード・アップロード方法などを記載します。## なぜ??
今後 Apple がプライバシーポリシーに力を入れていくことは明白であり、プロダクトベンダー側も逐一サービスやアプリがプライバシーポリシーを徹底して管理していくことが求められます。
そうなった時、AppStoreのGUIだけではバージョン管理やissue起票などの観点から不安要素が多々あり、メタデータによる管理・更新の機構があった方が安全といえます。## 前準備
#### ■ プライシー詳細情報に関するメタデータのダウンロード
すでにアプリがAppStoreConnectに作成済みであれば、現状のプライバシー詳細設定をダウンロードすることができます。
メタデータ送信用の設定項目を1から作成するのは大変なので、AppStoreConnect からGUI上で一度プライバシー詳細情報を更新し、そのファイルをダウンロードして管理していくことをおすすめします。**ドキュメントはこちら**
https:/
[ransack]複雑な検索機能の実装
# はじめに
本記事では、`ransack`を用いた複雑な検索機能について記述します。
以下の画像のようなものを作成します。![ransack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1768158/071b4cfd-7b98-132e-e6d6-4094c3ad98f6.png)
・「名前など」のところには、店名やメニュー名などがキーワードで検索できるようにしました。
・「辛さ(からさ)」では、ActiveHashとしているものとなっています。
・「close」は関係ないので、無視です。# コード
該当箇所記載します。
関係ないところは、`省略`します。## コントローラー
`@q`や`@p`など記載方法は分かれますが、`[:q]`もあるので、
`@q`に統一しました。`検索パラメーター`(検索する際に入力した内容)のキーを、
`:q`としており、`queryのイニシャル`のことです。query=質問(by Google先生)
記述し終わったら`binding.pry`し
[Ruby] shiftメソッド
##はじめに
shiftメソッドの紹介です。
プログラミング問題でsortメソッドと組み合わせると便利でした。##Array#shift
配列に対して使用できます。
配列の先頭の要素を取り出してそれを返してくれます。そしてその配列から取り出した要素は削除されています。どういうことかというと下記の例を見てください。
“`ruby
array = [1, 2, 3, 4, 5]
array.shift
=> 1
“`このように先頭の数値を取り出してくれます。
配列の中を見て見ましょう。“`ruby
p array
=> [2, 3, 4, 5]
“`配列の中の先頭にあった1が消えています。
また引数を渡すこともできます。渡した数字の数だけ先頭から取り出して削除してくれます。
“`ruby
array = [1, 2, 3, 4, 5]
array.shift(3)
=> [1, 2, 3]p array
=> [4, 5]
“`
ちなみに空の配列に対して使う時、引数を渡すのと、渡さない場合は結果が違うらしいです。“`ruby
array =
教員専用のコミュニティサイトを作ってみました。
# 概要
アプリ名: TESCO
教員専用のコミュニティサイトで、主に3つのことができます。
・ 教員特有の気付きなどを記事にできること
・ 教員同士で質問を解決できること
・ イベント(勉強会など)を作成できること![スクリーンショット 2021-09-03 16.19.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1967492/f9be00ec-7815-2bce-0610-c109df68bd3c.png)
# 使用技術
– Ruby 2.7.2
– Ruby on Rails 6.1.4
– MySQL 8.0
– AWS S3
– Docker
– CircleCI CI/CD
– Rspec
– Google Maps API
– R
【Rails】Your Ruby version is 3.0.2, but your Gemfile specified 2.7.2の対処法
症状
Gitから新しいPCにプロジェクトをpullした後、railsサーバーを起動しようとしたところ、下記のエラーが表示されてしまいました。
バージョンが違うと怒られているようです。“`terminal:error
Your Ruby version is 3.0.2, but your Gemfile specified 2.7.2
“`Gemfileに記述されているバージョンを確認したところ、下記でした。
“`ruby:Gemfile.rb
ruby ‘2.7.2’
“`現在インストールしているバージョンを確認したところ、下記でした。
エラーメッセージ通りでした。“`terminal:rubyバージョン
ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
“`解決策
Gemfileに書かれているバージョンを現在のバージョンに変更し、bundle updateをすることで解決しました。
雑な方法ではありますが、Gemfileのバ
【Rails】ActiveHashでcollection_selectしたのにプルダウンが表示されないエラー
この記事ではRails 6.0.0を使用しております。
当方、プログラミング初学者です。
Ruby on Railsにおいて、ActiveHashの学習中に発生したエラーについて
備忘録として残したいと思います。結論から言うと、単なるスペルミスが原因のエラーでしたが、
エラー表示がパッとでてこなかった場合の、エラーの原因を探す1つの方法を記します。ActiveHashの学習のために、簡易的な記事投稿アプリを作成しております。
記事の”ジャンル”をActiveHashで表示させるようにします。
ActiveHashの導入方法などは、他の記事を参照してもらうとして、
gem導入後、下記のようにモデル、コントローラー、ビューを作成しました。“`app/models/genre.rb
class Genre < ActiveHash::Base self.date = [ { id: 1, name: '--' }, { id: 2, name: '経済' }, { id: 3, name: '政治' }, { id: 4, name: '地
【Rails】StrongParameterの使用は必須ですか?
# 概要
StrongParameterはrails4から導入されたマスアサインメントを防ぐために導入された仕組みですが、使用が前提になっていると思っている方がいるようですが実際には必須ではありません。例えば、以下のようにStrongParameterからHashにして入力しても使うことができます。なぜこのように動作するかについてrailsのソースコードを見ながら説明します。“`ruby
class Dog < ActiveRecord end params = ActionController::Parameters.new(name: 'tama', status:"sleepy") // new with strong parameter Dog.new(params.permit(:name, :status)) // new without strong parameter (hash) Dog.new(name: params[:name], status: params[:status]) // new without strong parameter (h
Rails × Vue.jsでカルーセルを実装
https://ssense.github.io/vue-carousel/
カルーセルとはこんな感じ。これを実装していく。
トップページのログインページにこれを表示させたいので、#自作vueコンポーネントをerbに表示させる
“`erb
<%= image_tag 'coffee_gif.gif' ,class: "coffee-gif"%>Von Voyage!
Coffee Passportとはあなたが出会ったコーヒーの記録を共有できるサービスです
生粋のキャンプ好きが、キャンプ場検索に特化したサービス【TO_CAMP】を開発&リリースしました。(Rails/Docker/CircleCI/Heroku)
##はじめに
– **この記事はポートフォリオとして開発した、キャンプ場検索サービス「TO_CAMP」の紹介記事です。**
https://www.to-camp.com/
また、「TO_CAMP」という名前は、これからキャンプ場を探して「キャンプへ(行く)」という意味を込めて名付けました。
出典:Google翻訳
https://translate.google.com/?hl=ja&tab=TT##目次
[1.自己紹介](#1-自己紹介)
[2.TO_CAMPとは](#2-TO_CAMPとは)
[3.アプリの特徴](#3-アプリの特徴)
[4.機能一覧](#4-機能一覧)
[5.使用技術](#5-使用技術)
[6.テストフレームワーク](#6-テストフ関連する記事
OTHERカテゴリの最新記事
- 2024.11.09
iOS関連のことを調べてみた
- 2024.11.09
JAVA関連のことを調べてみた
- 2024.11.09
JavaScript関連のことを調べてみた
- 2024.11.09
Rails関連のことを調べてみた
- 2024.11.09
Python関連のことを調べてみた
- 2024.11.09
Lambda関連のことを調べてみた