問題点 #3141

メールフォームアカウント設定時、数字の前にアンダースコアが入ってると正常に稼働しなくなる

Added by 渕上 将和 almost 8 years ago. Updated almost 4 years ago.

Status:終了Start date:
Priority:通常Due date:
Assignee:-% Done:

0%

Category:メール
Target version:4.0.0

Description

メールフォームアカウント設定時、hoge_35 のように、数字の前にアンダースコアが入っていると、フィールド設定の際にエラーとなる。


History

#1 Updated by おさだ ゆうせい almost 7 years ago

こちらちょっと見てみたのですが、
models/datasources/dbo_source.phpのreadSchemaでの該当箇所で、ヤラれてしまってますね。。

$model = Inflector::classify(Inflector::singularize($table));

ここで、hoge_35 → Hoge35という風に変換されたあと、うまくテーブル名に戻れないようです。
普通なら hoge_aa → HogeAaになりますが。

そもそもこの名前付けって規約的にはどうなんでしょうか

対応するならば、

・新規向けには、
hoge_35風なら入力チェックで弾いてしまうとか

・既存(すでに登録してしまっている人)向けには
とりあえずアンダーバーの直後に数字が来ているモデルの場合は、
うまくその直前の_ だけは残してあげるとか、でしょうか。
例)$model には Hoge_35 が格納されるように
※cake本体のinflector.phpには触れないようにして。

あたりでしょうか。とりあえず考え事を共有させていただきました。

#2 Updated by 江頭 竜二 almost 7 years ago

仕様的におかしいかもしれませんが、入力チェックで弾く方が、仕様がはっきりするので無難でしょうね。

#3 Updated by おさだ ゆうせい almost 7 years ago

了解です。
事象を未然に防ぐということで、その方向で考えます。

ご確認ありがとうございます。

#4 Updated by 江頭 竜二 almost 7 years ago

  • Project changed from baserCMS to baserCMS機能要望
  • Category deleted (メール)

一旦整理する為に機能要望プロジェクトに移動します。

#5 Updated by 江頭 竜二 over 5 years ago

  • Priority changed from 急いで to 通常

#6 Updated by 江頭 竜二 over 5 years ago

  • Tracker changed from TODO to 問題点
  • Project changed from baserCMS機能要望 to baserCMS
  • Category set to メール
  • Target version set to 4.0.0
  • Start date deleted (10/10/2012)

#7 Updated by 江頭 竜二 almost 4 years ago

  • Status changed from 担当 to 解決

メールフォームのテーブルは、idを利用して命名する仕様に変更しました。

#8 Updated by 江頭 竜二 almost 4 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF