Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在登录期间使用Desive跨多个模型进行身份验证?_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 如何在登录期间使用Desive跨多个模型进行身份验证?

Ruby on rails 如何在登录期间使用Desive跨多个模型进行身份验证?,ruby-on-rails,devise,Ruby On Rails,Devise,我想在rails应用程序的身份验证过程中加入三个模型: 账户 class Account < ActiveRecord::Base attr_accessible :name,:created_at ... has_many :user_accounts has_many :users ,through: :user_accounts ... end class UserAccount < ActiveRecord::Base

我想在rails应用程序的身份验证过程中加入三个模型:

账户

class Account < ActiveRecord::Base
     attr_accessible :name,:created_at
     ...
     has_many :user_accounts
     has_many :users ,through: :user_accounts
     ...
end
class UserAccount < ActiveRecord::Base
     ...
     belongs_to :account
     belongs_to :user
     ...
end
类帐户
其中包含帐户的名称及其id

用户帐户

class Account < ActiveRecord::Base
     attr_accessible :name,:created_at
     ...
     has_many :user_accounts
     has_many :users ,through: :user_accounts
     ...
end
class UserAccount < ActiveRecord::Base
     ...
     belongs_to :account
     belongs_to :user
     ...
end
class用户帐户
它将给定的用户id与帐户id匹配

以及,

用户

class User< ActiveRecord::Base
     ...
     attr_accessible :email, :password, ...
     ...
     has_many :user_accounts ,:dependent => :destroy
     has_many :accounts ,through: :user_accounts
     ...
end
class用户:destroy
拥有多个:帐户,通过::用户帐户
...
结束


目前,登录页面有电子邮件和密码字段,但我想为“帐户”添加一个附加字段,其中包含帐户名,并检查用户是否属于该帐户。在此场景中,一个用户可以属于多个帐户,并且一个帐户可以有多个用户。最好的方法是什么(最好不要求助于子域)?谢谢

我闻到
接受嵌套的属性:
:)@Pavan你知道我该如何准确地使用它吗?我是否只需在用户模型中粘贴
接受:user\u accounts、:accounts
的\u嵌套属性,\u并更改designe.rb的身份验证密钥?您是否考虑过滚动您自己的身份验证?根据我的经验,如果你开箱即用,Desive是很棒的,但是一旦你弄乱了默认的数据模型,它就会妨碍你。请看我闻
接受嵌套的属性:
:)@Pavan你知道我该如何准确地使用它吗?我是否只需在用户模型中粘贴
接受:user\u accounts、:accounts
的\u嵌套属性,\u并更改designe.rb的身份验证密钥?您是否考虑过滚动您自己的身份验证?根据我的经验,如果你开箱即用,Desive是很棒的,但是一旦你弄乱了默认的数据模型,它就会妨碍你。看见