0

私は最近、レール/バックボーン アプリケーションに取り組んでいます。これまで、ユーザーがアプリケーションに特定の変更を加えるたびに (たとえば、他のビューよりも 1 つのビューを選択したり、特定のフィルターを使用したり、ビューに表示される情報をカスタマイズしたり)、ユーザーの選択を Rails セッション変数に保存していました。これらのセッション変数からの情報を使用することで、ページが更新されたとき、またはアプリケーションの新しいインスタンスが同じコンピューターで使用されたときに、ユーザーの変更が保持されることが保証されました。これは、ユーザーがサインアウトするまで続きます。サインアウトすると、セッション変数の情報が失われ、ユーザーが次回ログインしたときにデフォルト設定になります。

受け取ったフィードバックは、ユーザーがログアウトしたり別のコンピューターを使用したりしても、実際には変更が保持されることを望んでいるというものでした (たとえば、同じユーザーがログインしている限り、既定の設定は変更によって置き換えられる必要があります)。この機能をどのように実装すればよいですか?

ありがとうございました!

4

1 に答える 1

1

Mischa に同意し、データベースにデータを保存する必要があります。

これは、ユーザーに設定を簡単に追加する方法の例です。

class User < ActiveRecord::Base
  serialize :preferences
end

u = User.new
u.preferences = {
   :view => {:controller => :dasboard, :action => :index}, 
   :filters => {
      :users => {
         :order => :email
         :page => 1
         :quantity_per_page => 20
      }
   }
}

データベースのフィールドのタイプが「テキスト」であることを確認してください

于 2013-02-06T15:03:45.767 に答える