2011-03-28 9 views
2

に値を保存しない新しい列を追加するために、私は次の移行作成:しかしrails3移行だからテーブル

class AddAclToUsers < ActiveRecord::Migration 
    def self.up 
    add_column :users, :acl, :integer 
    end 

    def self.down 
    remove_column :users, :acl 
    end 
end 

を、ビュー内の様々なERBファイルを変更した後、edit.html.erbに入力された値データベースには保存されません。

手動でSQlite3を起動して*テーブルを選択し、そのカラムが作成されたが値が入力されていないことを確認できます。コントローラーが照会して正しく表示する新しい列に手動でUPDATEまたはINSERTすることもできます。

フレームワークに何が間違っているかもしれないかについての任意の提案udate/save ??

-daniel

+0

ビュー、コントローラとモデルのコードを貼り付けすることができたいと思いますが、関連するコントローラ、モデルとビューのコードをpastieすることはできますか? –

答えて

3

あなたUserモデルでattr_accessibleのリストがあるかどうかを確認してください。認証のためにgem/pluginのようなDeviseを使用している場合は、モデルにattr_accessibleのリストがあります。

新しい属性(自分の場合はacl)をattr_accessibleリストに追加します。

そうでない場合は、私は

+0

PasteBinを貼り付けてコピーしていたときに、新しいフィールドを属性アクセサに追加することの意味がわかりました。私はこれを試して戻ってくる - はい。それがトリックでした。先端に感謝します。 – Daniel

+1

@ダニエル:あなたはいつも答えを受け入れられたとマークすることができます。;) – Pravin

+0

レール4では、あなたのコントローラを見ます(あなたの場合はusers_controller.rbかもしれません)。下部には、許可フィールドを必要とする機能を備えたプライベートセクションがあります。許可セクションにこの新しいフィールドがないことに注意してください。それを追加します。 – look

関連する問題