从Rails5上的has_and_belongs_to_many的Relationship表中检索值

时间:2016-10-24 10:25:06

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-5

我有两个表Role和User,我将这两个表与has_and_belongs_to_many关系与rails相关联。

我已成功将数据插入到由has_and_belongs_to_many关系创建的第三个表中。使用以下代码

def create
user_params[:password] = User.hash(user_params[:password])
@user = User.new(:first_name => user_params[:first_name],
                 :last_name=>user_params[:last_name],
                 :email => user_params[:email],
                 :contact_number=>user_params[:contact_number],
                 :password=>user_params[:password])

@roles = user_params[:roles];
for role in @roles
  @user.roles << Role.find(role)
end
if @user.save
  respond_to do |format|
    msg = { :status => "ok", :message => "User Creation Success!" }
    format.json  { render :json => msg }
  end
end
end

现在我的问题是如何读取关系表中的值以及如何更新关系表中的任何值。

1 个答案:

答案 0 :(得分:0)

让我们假设您设置模型用户角色如下:

class User < ActiveRecord::Base
  has_and_belongs_to_many :roles
end

class Role < ActiveRecord::Base
  has_and_belongs_to_many :users
end

Abd添加了users_roles_table表 然后,您可以检索相关数据,如正常说法

  

User.first.roles

  

Role.first.users