开发者

Could not find the association, Rails 3

开发者 https://www.devze.com 2023-01-29 00:36 出处:网络
class Membership < ActiveRecord::Base belongs_to :role belongs_to :user end class User < ActiveRecord::Base
class Membership < ActiveRecord::Base
  belongs_to :role
  belongs_to :user
end

class User < ActiveRecord::Base
   has_many :roles, :through => :memberships
end

class Role < Act开发者_如何学运维iveRecord::Base
  has_many :users, :through => :memberships
end

and my View

<% for role in Role.find(:all) %>
      <div>
        <%=check_box_tag "user[role_ids][]", role.id, @user.roles.include?(role) %>
        <%=role.name%>
      </div>
     <% end %>

I've got next error on my View - Could not find the association :memberships in model User and i can't understand why this is happens ..


You need to explicitly state has_many :memberships, like this:

class User < ActiveRecord::Base
   has_many :memberships
   has_many :roles, :through => :memberships
end

class Role < ActiveRecord::Base
   has_many :memberships
  has_many :users, :through => :memberships
end

Add that in, and you should be up and running.


I found the reason,

I'll need to add

has_many :memberships

to my User and Role models.

Thanks anyway ! :)

0

精彩评论

暂无评论...
验证码 换一张
取 消