我最近在RoR框架中编写了一个项目。但我遇到了问题。 在我的控制器中,我有一个名为Api控制器的控制器,我用它来制作Api调用,这些调用是在Rails之外的api,它们工作正常。 但我在其他控制器中创建了一些其他功能,我想像Api一样使用它们但是idk怎么做呢
进行API调用的Api函数:
def show_api_data
@apis = Api.load_by_api_id(load_api_data_params[:api_id], load_api_data_params[:callparams], current_user)
return render json: @apis, status: @apis[:errors][0][:status] if @apis[:errors].present?
render json: @apis, fields: { apis: %i[api_data total_count] }
end
def post_api_data
@apis = Api.load_by_api_id(load_api_data_params[:api_id], load_api_data_params[:callparams], current_user)
return render json: @apis, status: @apis[:errors][0][:status] if @apis[:errors].present?
render json: @apis, fields: { apis: %i[api_data total_count] }
end
这两个函数来自另一个函数,用于为用户提供角色:
def add_role_to_user
role_params[:user_id].each do |user|
user = User.find(user)
role_params[:role_ids].each do |role|
@roles = Role.find(role)
if @roles.resource.present?
new_role = user.add_role(@roles.name, @roles.resource)
new_role.save!
end
end
end
render json: @roles
end
def remove_role_from_user
role_params[:user_id].each do |user|
user = User.find(user)
role_params[:role_ids].each do |role|
@roles = Role.find(role)
user.remove_role(@roles.name, @roles.resource) if @roles.resource.present?
end
end
render json: @roles
end
所以我想要做的就是将这个角色函数用作API,并使用MongoDB将其发送到api调用函数。