問題点 #3141
メールフォームアカウント設定時、数字の前にアンダースコアが入ってると正常に稼働しなくなる
Status: | 終了 | Start date: | ||
---|---|---|---|---|
Priority: | 通常 | Due date: | ||
Assignee: | - | % Done: | 0% | |
Category: | メール | |||
Target version: | 4.0.0 |
Description
メールフォームアカウント設定時、hoge_35 のように、数字の前にアンダースコアが入っていると、フィールド設定の際にエラーとなる。
History
#1 Updated by おさだ ゆうせい over 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 江頭 竜二 over 7 years ago
仕様的におかしいかもしれませんが、入力チェックで弾く方が、仕様がはっきりするので無難でしょうね。
#3 Updated by おさだ ゆうせい over 7 years ago
了解です。
事象を未然に防ぐということで、その方向で考えます。
ご確認ありがとうございます。
#4 Updated by 江頭 竜二 about 7 years ago
- Project changed from baserCMS to baserCMS機能要望
- Category deleted (
メール)
一旦整理する為に機能要望プロジェクトに移動します。
#5 Updated by 江頭 竜二 about 6 years ago
- Priority changed from 急いで to 通常
#6 Updated by 江頭 竜二 about 6 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 江頭 竜二 over 4 years ago
- Status changed from 担当 to 解決
メールフォームのテーブルは、idを利用して命名する仕様に変更しました。
#8 Updated by 江頭 竜二 over 4 years ago
- Status changed from 解決 to 終了