Как напрямую вызывать данные поддержки из Ruby в таблицах базы данных Active Admin Rails - PullRequest
0 голосов
/ 06 апреля 2020

У меня проблемы с пониманием и получением доступа к данным поддержки в базе данных. Одним из объектов, созданных активным администратором, была модель под названием «интересы». Интересы - это объект, который я могу вызвать в приложении (например, контроллер) напрямую. Тем не менее, мне нужно получить доступ к тому, что, как я предполагаю, в основном поддерживает данные, которые, как я считаю, Active Admin также создал под названием "members_users". Причина в том, что он связывает пользователей с данными об интересах, что очень полезно. См. Ниже schema.rb

create_table "interests", force: :cascade do |t|
t.string   "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false

create_table "interests_users", id: false, force: :cascade do |t|
t.integer "interest_id", null: false
t.integer "user_id",     null: false
t.index ["interest_id"], name: "index_interests_users_on_interest_id"
t.index ["user_id"], name: "index_interests_users_on_user_id"

Например, я могу получить доступ к таблице интересов в коде моего приложения, просто выполнив это

@interest = Interest.all

Затем я смогу получить доступ к этим данным в Мои представления, чтобы я мог работать с этими данными, но что бы я ни пытался, я не могу получить доступ к данным Interest_users. Если я попробую что-то вроде

@interest_users = InterestsUsers.All

, я получу такие ошибки, как «неинициализированная константа PagesController». Во всяком случае, я новичок в Rails и считаю, что мне не хватает фундаментальных знаний, когда дело доходит до понимания правильных методов передачи данных из базы данных в HTML. Любая прямая помощь в решении этой проблемы была бы офигенной, так как сейчас я довольно озадачен.

class StaticPagesController < ApplicationController

  def discovery

    @aoks = Micropost.paginate(page: params[:page], per_page: 12)
  end

  def home
    if user_signed_in?
      @post = current_user.posts.build
      @feed_items = current_user.feed.paginate(page: params[:page], per_page: 10)
    else
      @******
      @user_count = User.count
      @user_all = User.all
      @interest = Interest.all
      @interest2 = Interest.first; @interest.users.    ——problem!
      #@interest_table = Interest
      #@interest_users = InterestsUsers.All
      #interests_users.find_each do |user|.     ——problem!
      #  @interest_user = user
      #end 
    end
class Interest < ApplicationRecord.     ##models/interest.rb
  has_and_belongs_to_many :user
end

Спасибо, Джо

...