从控制台获取rails关联

sha*_*jin 20 console ruby-on-rails rails-console

我有一个模型用户.现在,我需要从控制台获得相同的所有关联细节.并且需要知道它是一个还是一个.是否有任何方法可以做到这一点?

Dyl*_*kow 40

User.reflect_on_all_associations
Run Code Online (Sandbox Code Playgroud)

这将返回一个类似于此的关联数组:

#<ActiveRecord::Reflection::AssociationReflection:0x00000105575548 @macro=:has_many, @name=:posts, @options={}, @active_record=User(id: integer, login: string), @collection=false>
Run Code Online (Sandbox Code Playgroud)

示例代码:

reflections = User.reflect_on_all_associations
reflections.each do |reflection|
  puts ":#{reflection.macro} => :#{reflection.name}"
end
Run Code Online (Sandbox Code Playgroud)


小智 5

使用 gem pry-rails,您将能够访问模型、其列和关系。将其包含在您的中Gemfile,然后运行bundleshow-models当您位于 Pry 控制台时,您可以使用该命令。您将获得有关所有型号的信息。

您还可以运行show-model (Model_Name)以获取有关特定型号的信息