問題タブ [rolify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - FactoryGirl 異なる役割を持つ複数のオブジェクトを追加する方法
そして私の工場
それらのモックがすべての役割を受け取る必要がありますが、今は学生の役割しかできません
rspecでの私のテスト
何が起こっているのか: 紙が 1 つしかない rspec でしかテストできませんが、すべての cancan でテストしたいので、さまざまな役割に対してこれらすべての可能性を備えたファクトリを作成する必要があります
ruby-on-rails - roifyを使ったマルチロールチェック
マルチロールチェックを実行することは可能ですか - ...これは、明らかにDBに2回アクセスすることを伴う(:moderator)をuser.has_role?(:admin, :moderator)
実行するのに対して、DBに対して1つのクエリを実行することを願っています。user.has_role?(:admin) && user.has_role?
ruby-on-rails - Devise を使用して、remember_me などの設定の Cookie のステータスを確認するにはどうすればよいですか?
Rubystack、Ruby 2.0.0p353、Rails 4.0.3 で Windows 8 を実行しています。Devise、CanCan、Rolify を含む Rails Composer を使用して独自のアプリケーションを構築しました。管理者を除くすべてのユーザーに設定され、それらのユーザーが基本的に永久にログインしたままになるようにremember_meを構成しようとしています。コードで動作しているようですが、クッキーが何を言っているのか知りたいです。私はまだ Cookie を扱ったことがなく、その謎を解き明かす糸口を探しています。
このコードを app/models/user.rb に追加して、remember_me を設定します。
config/initializers/devise.rb で、次の変数を設定します。
標準ユーザー ロールを持つユーザーには、ログインしている限り、PostgreSQL 列の remember_create_at が設定されています。ユーザーがログアウトすると、この列はクリアされます。管理者ロールを持つユーザーには、この列が設定されていません。それは正しいようです。
私はクッキーをチェックアウトすることに頭を悩ませることができません。標準ロールのユーザーがブラウザセッション間でログインしたままになるように、remember_me 情報が含まれている必要があると思いますか? その情報を掘り出して検証するにはどうすればよいですか?ありがとう...
ruby-on-rails - rolify を破棄したり、devise ユーザー モデルの名前を変更したりする方法は?
Rails Composer と Devise および Rolify によって生成された Ruby 2 Rails 4 アプリケーションがあります。Devise User モデルの名前を変更しようとしているので、破棄して生成したかったのです。ただし、Rolify に関連するエラーが発生します。私は Rolify を破壊しようと何度か試みましたが成功しませんでした。Devise で作業できるように、その点を乗り越えることができませんでした。
この問題を解決するためのいくつかの試みと、発生するエラーを示します。 各試行は、アプリケーションの新しいコピーから開始されました。 エラーストリームのみを示します。
基本的に 2 つの質問があります。2.デバイスのユーザーモデルの名前を変更するより良い方法はありますか? 別の方法を見つけたと思ったのですが、私の人生では、再び見つけることはできません..
rolify を破棄します。その結果、role.rb が削除された後に削除しようとして失敗します。
deviseモデルを破棄し、deviseモデルを生成し、rolifyを生成します
デバイスモデルを破棄し、デバイスモデルを生成し、app/models/role.rb を削除して、rolify を生成します。
ruby - Rolify と Devise および Cancan を使用して Form を介して Role を動的に追加する
チュートリアル「https://github.com/EppO/rolify/wiki/Tutorial」に従っただけで、とても素晴らしく、うまく機能しています。しかし、私の質問は、Rails コンソールを使用せずにフォームから Role を追加できないかということです。
役割列は、役割テーブル (Rolify Roles) に接続します。
これが私のrole.rbです
class Role < ActiveRecord::Base
has_and_belongs_to_many :users, :join_table => :users_roles
所属先 :resource, :polymorphic => true
ユーザー.rb
クラス User < ActiveRecord::Base
所属先:アカウント, :inverse_of => :ユーザー
:account, :presence => true を検証します
ろくでなし
attr_accessible :role_ids
# デフォルトのデバイス モジュールを含めます。# :確認可能、:ロック可能、:タイムアウト可能、および:オムニ認証可能
:database_authenticatable、:registerable、:recoverable、:rememberable、:trackable、:validatable
# モデルのアクセス可能な (または保護された) 属性をセットアップする
attr_accessible :email、:password、:password_confirmation、:remember_me、:role_ids
# attr_accessible :title, :body
has_many :auditinits
終わり
どんな助けでも大歓迎です!!
ruby-on-rails - Devise+CanCan+Rolify を使用する場合、各リクエストには 2 つのデータベース ヒットが必要ですか?
私が理解している限りでは、選択したセッション ストアに関係なく、Rails アプリは Devise 用に 1 つのデータベース クエリを送信し、Rolify 用に 1 つのデータベース クエリを送信します。
ここに私の関連コードがあります:
私の開発ログからわかるように、これらのコードはこれらの SQL クエリを引き起こします。
私が疑問に思っているのは、これらのクエリはすべて必要ですか? これを行うより良い方法はありませんか?
私が間違っていなければ、user_signed_in?
ヘルパー メソッドは常にデータベースに呼び出しを送信します。
session
オブジェクトが存在するかどうかをチェックアウトしないのはなぜですか? ユーザーがログインした後、User
オブジェクトの必要な属性を保存できsession
、ページが要求されるたびにデータベースにアクセスする必要はありませんか? すべての Cookie は Rails 4 で安全ですが、何が問題なのですか?
おそらく私は何かが欠けています。
誰かがこれを明確にできますか?
ありがとうございました
ruby-on-rails - rolify の複数の役割のチェックには、常に 1 つ以上のグローバルな役割を含める必要がありますか?
ドキュメントを確認しましたが、グローバル ロールを 1 つ追加した場合にのみ機能します。グローバルロールなしで複数のロールチェックを行うにはどうすればよいですか?
ruby-on-rails - Rolify テーブルが作成されない
gem (gem 'rolify') をバンドル インストールした後、次のコマンドを使用してファイルを生成しました。
以下のファイルが作成され、
それから、私は与えました
それは私に警告を与えます、
また、テーブルが作成されていません。ここに何かが欠けているという問題は何ですか? これは私の移行ファイルです。
私のバージョン、
レール - 4.1.0 ルビー - 2.1.1
誰でもこれで私を助けてください..
前もって感謝します。