三蔵開発メモ

Web開発やインフラ関連のメモを共有します

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

RubyでネストしたHashをオブジェクト化する方法

Ruby2系までは、ネストした階層のハッシュをオブジェクト化するには、JSON化してOpenStructを使うのが簡単だったが、 Ruby3.0からOpenStructが非推奨になってしまったため、Structでやる必要になって少しはまったのでメモ。 response = { users: [ profile: …

Ruby On RailsでControllerからViewへのリダイレクトの際にメッセージ等レスポンスを返す方法

登録フォームなどをRailsで書いていると、登録成功、失敗それぞれのときにView側にメッセージを返したくなる時がある。 ajaxなどを使ってもできるが、flashを利用するとRailsのみで実現できる。 controller側の例 def create # 何らかの処理 if 成功した場合…

Ruby On Rails、Slimのlink_toでget以外のメソッドを送信したいとき

管理画面の改修をしており、テーブルにある行の1つを削除したいとき、 その行に削除ボタンを設置してそのまま削除処理をおこないたくなるような場面に遭遇した。 = link_to '編集', edit_user_path(user_id) 編集画面に遷移させたいなどであればrotingやcon…

存在するかわからない子データを取得する場合は「&.」が便利

超基本だがよく使うのでメモ。 - users - id - name - user_profiles - id - user_id - age 上記のような1対1の関係のテーブルがある場合、Railsのモデルでuserからuser_profileのageにアクセスする場合は、 user.user_profile.age といったようにアクセスで…

Docker ComposeでElasticsearchを動かそうとしてもうまく動かなかった時にやったメモ

elasticsearchをアップデートしたらうまく動かなくなった。 結論から言うと、 environmentに"bootstrap.system_call_filter=false"を追加した。 elasticsearch: container_name: elasticsearch image: appbrewadmin/elasticsearch:7.9.3 ports: - 9200:9200 …