質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1435閲覧

漢字の人名のソートする方法がわかりません

azumaken

総合スコア14

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/07/27 13:52

下記のような一覧ページにて、ソート機能を実装したいのですが、漢字の人名をあいうえいお順に並べるには、どのようにすれば良いのでしょうか

イメージ説明

<div class="col-md-10 col-md-offset-1"> <table class="table table-sm table-hover" id="table-care_users"> <thead> <tr> <th></th> <th><%= sort_link(@q, :name, "name", hide_indicator: true) %></th> <th><%= sort_link(@q, :grade, "grade", hide_indicator: true) %></th> <th><%= sort_link(@q, :department, "department", hide_indicator: true) %></th> <th>confirmation</th> </tr> </thead> <% @care_users.each do |care_user| %> <tr> <td> <% if care_user.image? %> <img src='<%= care_user.image %>' class="index_icon" alt="ユーザーアイコン"> <% else %> <%= image_tag src='picture-3651039_1920.png', class: "index_icon", alt: "ユーザーアイコン" %> <% end %> </td> <td><%= link_to care_user.name, care_user %></td> <td><%= care_user.grade %></td> <td><%= care_user.department %></td>
class CareUsersController < ApplicationController def edit_index         @q = CareUser.ransack(params[:q]) @care_users = @q.result.page(params[:page]) if @care_user.update(care_user_two_params) @count = Intermediate.where(user_id: current_user.id, confirmation: false, indication: "更新") end end

■実現したいこと:nameをあいうえお順にソートしたい

■現状:ransackのsort_linkを使用したが失敗(このサイトではできているのでransackで可能?リンク内容)

■考察結果:漢字は同じ字でも、読み方が異なるのでうまくいかない?、振り仮名カラムを作成してそれを並べるとうまくいくのでは・・・

■考察結果の問題点:

1:振り仮名カラムを作った場合、インスタンスを登録する際に、振り仮名フォームも入力させなければならないのか(できれば入力させたくない)

2:検索ページで振り仮名カラムを表示したくない

お忙しい中、恐れ入りますが上記の内容を解決する方法を教えて頂けないでしょうか。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

振り仮名カラムを作った場合、インスタンスを登録する際に、振り仮名フォームも入力させなければならないのか

考察の通りで、一般的にはカナのカラムがなければ読み仮名ではソートは不可能だと思います

投稿2021/07/27 13:56

tesopgmh

総合スコア146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/07/27 14:55 編集

人名の場合、「高山」が「たかやま」なのか「こうやま」なのかなど、同じ文字で読み方が違う例が存在しますが、ふりがななど別ルートで記録しなければ、正しく判定する方法が存在しません。
azumaken

2021/07/28 07:56

ありがとうございます。 やはり、振り仮名カラムを作成する必要があるのですね。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問