1

私はCFWheelsとフレームワーク全般に不慣れです。

Wheels Web サイトのスクリーンキャストをフォローしています: http://cfwheels.org/screencasts/

私はそのままチュートリアルに従っていました...唯一の違いは、彼のテーブルの名前が「people」で、私のテーブルの名前が「users」であることです。それに応じて変更を加えましたが、他のすべては同じままにしました。

彼の単数形は「人」で、私のものは「ユーザー」です。

「User.cfc」コントローラーの挿入コードは次のとおりです。

<cfcomponent extends="Controller" output="true">

    <cffunction name="register">

        <cfset user = model("user").new() />

    </cffunction>

    <cffunction name="create">

        <cfset params.user['userUUID'] = createUUID() />
        <cfset params.user['userCreated'] = createODBCDateTime(now()) />
        <cfset params.user['userModified'] = createODBCDateTime(now()) />

        <cfset user = model("user").new(params.user) />
        <cfset user.save() />

    </cffunction>

</cfcomponent>

今、私は次のように私のビューでフォームヘルパーなども使用しています:

<cfparam name="user" />

<cfoutput>

#startFormTag( action="create" )#

<fieldset>

    <legend>Register</legend>

    #textField( label="User Name http://#cgi.server_name#/user/", objectName="user", property="userName" )#
    #textField( label="Email Address", objectName="user", property="userEmail" )#
    #textField( label="Password", objectName="user", property="userPassword" )#
    #submitTag( value="Register" )#

</fieldset>

#endFormTag()#

</cfoutput>

かなり単純ですよね?だから、なぜ挿入されないのか理解できません。CFC に「user」という名前を付け、「user」という単数形の名前が設定された「users」というテーブルを持つことと関係がありますか?

フォームを送信してもエラーはありません。正常に実行されますが、DB を調べても何もありません。

私が考えたことの 1 つは....正確には、ホイールはどのテーブルを探すべきかをどのように知っているのでしょうか? これについての説明はないようです。おそらく、間違ったテーブルを見つけただけですか?

どうもありがとう、マイケル


解決しました!

こんにちは、これに遭遇する可能性のある他の人のための最新情報です。何も起こらなかった理由は、データベース テーブルが特定のフィールドを null にしないように要求したためです。CFWheels はエラーをスローしていませんでした。これらのフィールドに値を渡すと、問題ありませんでした。必ずチェックしてください。

それが役立つことを願っています。

4

2 に答える 2

1

マイケル、

モデル オブジェクト関数のトラブルシューティングの最初のステップは、通常、結果の allErrors() メソッドをダンプすることです。保存を試みた直後にこの行を追加してみてください。

<cfdump var=user.allErrors() label="User Save Errors" abort />

MC

于 2012-04-12T20:09:28.310 に答える