ruby-on-rails - 如何区分来自 simple_form_for 中同一个表的两个集合字段?
问题描述
我创建了一个允许用户交易视频游戏的应用程序。当 auser
想要 agame
时,他点击“交易”按钮,atrade
被自动创建并被重定向到trade
节目。
在那里,他必须填写一个 simple_form_for。我想让他选择从所有者的游戏中添加一些其他游戏,但也可以从他自己的收藏中添加一些游戏。例如“我向你推荐我的 3 场比赛和你的 2 场比赛”)。
正如您在下面我的数据库架构中看到的那样,一个trade has_many trade_games
. 为了帮助轻松管理我的嵌套属性,我使用了 abyme gem。问题是我不知道如何将我收藏的游戏与其他用户的游戏区分开来。在我的表格中,我需要做这样的事情:
<%= simple_form_for @trade do |f| %>
<%= f.abyme_for(:asker_games) do |abyme| %>
<%= abyme.records %>
<%= abyme.new_records %>
<%= add_associated_record %>
<% end %>
<%= f.abyme_for(:receiver_games) do |abyme| %>
<%= abyme.records %>
<%= abyme.new_records %>
<%= add_associated_record %>
<% end %>
<% end %>
哪里asker_games
是我的游戏的集合,并且receiver_games
来自其他用户。
你知道我该如何处理吗?我想用类似的东西使用范围:scope :owner_is, -> (user) { includes(:game).where(games: { owner: user }) }
在trade_game.rb中,但我如何在trade.rb的两个关联中使用它?
has_many :asker_games, inverse_of: :trade, class_name: "TradeGame"
has_many :receiver_games, inverse_of: :trade, class_name: "TradeGame"
我希望我的问题很清楚。感谢您的帮助。
解决方案
推荐阅读
- html - 导航栏崩溃在引导 v5.0 中不起作用
- c - 为什么 gcc 和 clang 没有警告写入地址 0?
- ios - 即使检索了 clientSecret,Apple Pay 付款也不会通过
- python - 使用 Django 自定义用户模型成功创建超级用户后无法登录 Django 管理面板
- html - Markdown 可点击复选框
- c# - 从一个类中获取所有数据表属性的所有列名
- listview - 从 contentview 检索 Listview 条目更新 - xamarin
- javascript - Deep Merge 泛型函数从不返回类型
- css - 如何缩小图像以使其在移动设备上看起来正确
- python-3.x - 如何将以下数据框/数据集转换为所需格式的嵌套 json?