Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JpPrefecture::Prefecture.find(name: 'hoge') で意図しないレコードが取得されてしまうケースがある #24

Closed
tackeyy opened this issue Apr 17, 2018 · 3 comments
Milestone

Comments

@tackeyy
Copy link

tackeyy commented Apr 17, 2018

便利なGemを作成いただきありがとうございます! 🎉

概要

JpPrefecture::Prefecture.find(name: 'hoge') は name / name_e / name_h / name_k を前方一致で検索するという仕様のため、以下のようケースで意図しないレコードが取得されてしまいます。

Mapping.data.each do |m|

# 例:レコードが取得できないことを期待しているが、青森のレコードが取得される
JpPrefecture::Prefecture.find(name: '東') 
=> #<JpPrefecture::Prefecture:0x00007fc550158890 @area="東北", @code=2, @name="青森県", @name_e="Aomori", @name_h="あおもりけん", @name_k="アオモリケン", @type="県", @zips=[185501..185501, 300111..395346]>

考えたこと

  • JpPrefecture::Prefecture.find の引数が name の場合は、 name のみを検索対象とする
  • JpPrefecture::Prefecture.find の引数に name_e / name_h / name_k をうけれるようにする

とすれば解決しそうですが、前方一致だと同じような問題が起きる可能性があります。

とりいそぎのレポートです。

@chocoby
Copy link
Owner

chocoby commented Apr 23, 2018

反応が遅くなってしまいすみません!
レポートありがとうございます 😄 確認します!

@chocoby
Copy link
Owner

chocoby commented May 8, 2018

  • 案 1: 完全一致で検索するオプションを追加する
  • 案 2: name_e, name_h, name_k を指定できるようにする
    • name で都道府県以外を検索する人はどれぐらいいるのだろうか?
    • name のみ検索対象にする場合は、PATCH バージョンのアップデートで事前にメッセージを表示する
      • MINOR バージョンをアップデートするタイミングで name だけ検索対象とする

@chocoby
Copy link
Owner

chocoby commented Feb 10, 2021

時間が空いて申し訳ありませんが、v1.0.0.rc1 にて対応しました。
https://github.com/chocoby/jp_prefecture/releases/tag/v1.0.0.rc1

不具合等ありましたら Issue を作成するか、Re-open してください 🙇

@chocoby chocoby closed this as completed Feb 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants