从控制台获取 Rails 关联
我的 Rails 应用程序中有一个模型 - User。我希望在 Rails 控制台中列出所有关联以及关联类型(1-1、1-多)。
I have a model in my Rails application - User. I want all the associations to be listed in rails console, along with the type of association(1-1, 1-many).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这将返回类似于以下的关联数组:
示例代码:
This will return an array of associations similar to this:
Sample code:
使用 gem pry-rails 您将能够访问模型、其列和关系。将其包含在您的
Gemfile
中,然后运行 bundle
。当您在 pry 控制台中时,可以使用命令show-models
。您将获得有关所有型号的信息。您还可以运行
show-model (Model_Name)
来获取有关特定模型的信息Using the gem pry-rails you will be able to access the model, its columns and relationships. Include it in your
Gemfile
, then you runbundle
. You can use the commandshow-models
when you are in your pry console. and you will get the information about all your models.You can also run
show-model (Model_Name)
to get information about a specific model将其添加到 /lib 下的某个位置。例如clone_deep.rb。
在 config/initializers/ 文件夹下创建新的初始化程序。在此文件中粘贴
现在您可以克隆模型及其所有 has_one 和 hos_many 关联。
Add this some where is under /lib. For example clone_deep.rb.
Create new initializer under config/initializers/ folder. Inside this file paste
Now you be able to clone model with all it's has_one and hos_many associations.
因为我是新用户,所以我无法澄清/回复其他人的帖子。我会注意到,在检查关联中的任何更改之前,您需要重新加载 Rails 控制台。
Because I'm a new user, I am unable to clarify/reply to other's posts. I'll note that you need to reload the rails console before checking any changes in associations.
您可以针对任何特定的情况执行此操作:-
用户 = User.reflect_on_association(:user_profile)
和
用户宏
You can do this for any particular :-
user = User.reflect_on_association(:user_profile)
and
user.macro