3

Rails コンソールで次の非推奨警告が表示されました。

DEPRECATION WARNING: Having additional attributes on the join table of a 
has_and_belongs_to_many association is deprecated and will be removed in Rails 3.1. 
Please use a has_many :through association instead.

問題はroles_users、オンラインのステップバイステップ チュートリアルに従って作成したテーブルにあります。

has_many :throughacl9 の関連付けを実装するにはどうすればよいですか? 特にuserroleモデルはそれぞれヘルパー メソッドのみを使用し、実際の を使用しないためhas_and_belongs_to_manyです。

これは彼らがどのように見えるかです:

class User < ActiveRecord::Base
  acts_as_authentic
  acts_as_authorization_subject  :association_name => :roles
end

class Role < ActiveRecord::Base
  acts_as_authorization_role
end
4

2 に答える 2

2

答えは、この GitHub の問題へのコメントで後で議論されました。

ユーザーモデル:

acts_as_authorization_subject :association_name => :roles, :join_table_name => :roles_users

ロールモデル:

acts_as_authorization_role :join_table_name => :roles_users
于 2012-03-07T23:50:12.407 に答える
0

また、記録として、Rails は:join_table結局 habtm のオプションを非推奨にしないことを決定したため、これは Rails のその後のパッチ リリースでなくなりました。Rails をアップグレードするだけであれば、問題に記載されているオプションは必要ありません。

于 2015-01-22T21:08:51.710 に答える