2017-01-05 11 views
0

私はRailsには自信がありませんが、最近IDのようなデータを保存するためにカスタムセッション変数を追加し始めました。最近作成された値にコールIDを設定しようとしていますが、エラーが発生しています。セッション変数を追加できません - ActiveModel :: MissingAttributeError

コード:

callid = Call.createCall(sessionid,tp_cd) 
session[:callid] = callid 

このまったく同じことを同じコントローラ内の他のアクションで動作しますが、ここで私が手:

ActiveModel::MissingAttributeError (can't write unknown attribute `callid`) 

ために、私は単純にPOST呼び出しでこのアクションを呼び出すいますいくつかのデータを操作し、このセッション変数を後で使用するように設定します。セッション変数がどのように機能するかについて私が欠けている根本的なものがなければなりません。このエラーを引き起こす可能性のあることは明らかですか?

+0

のようなセッションがやっ 'ますrequest.sessionの試してみてください得ることができます。 – Iceman

+0

Hey Iceman、request.session [:callid]を使って正常に動作していないことがわかりましたが、すべて正常に動作しています。 – suppp111

+0

'session'だけを使うと、Railsはリクエストサイクルの一部である' Session'ではなく 'Session'というモデルを探します。私はあなたがあまりにも混乱していないことを願っています。 – Iceman

答えて

0

それはエラーになります。何かがあなたのセッションに干渉しているかどうかを確認するために= callid`:[callid]

あなたはこの

request.session[:callid] = callid 
1

モデルにsession.rbがありますか?

+0

私は実際に行っていますが、dbのセッションテーブルに関連していました。「セッション」とは何の関係もありませんでした。それはそれを混乱させることができますか? ...しかし、その後、他のセッション変数は正常に動作します:/ – suppp111

+0

これは簡単にセッションテーブルの名前を変更して表示します –

0

レールでは、モデル名に新しいレコードを作成するだけでメソッドを作成できます。

callid = Call.createCall(sessionid,tp_cd) 

ので、それは次のようにする必要があります:列名:あなたの変数/値あなたはこのようにそれを定義する必要がありますのparamsで

callid= call.create(params) 

。コールモデルにはどのような列がありますか?あなたが列をセッション_している場合、それはこのようになります:Railsはリクエストサイクルの一部であるSession、ないセッションオブジェクトと呼ばれるモデルを探すため

callid= call.create(session_id: value_given) 
関連する問題