【发布时间】:2015-10-29 00:17:30
【问题描述】:
如何在 Rails 中创建具有两个关联的对象。假设您有一个属于用户和 Subreddit 的链接模型,那么在创建该链接实例时如何设置 user_id 和 subreddit_id。
到目前为止,像@link = current_user.links.build(link_params) 这样的操作将设置user_id,但我不确定如何同时设置subreddit_id。理想情况下,我希望同时执行这两项操作,并且出于安全原因避免将subreddit_id 添加到link_params。
【问题讨论】:
-
什么安全原因阻止您将 subreddit_id 添加到 link_params?
-
如果不是从参数中获取
subreddit_id,我不清楚?如果它没有与参数一起传递,它来自哪里? -
@eirikir 我可能弄错了,但我觉得打开它允许通过网络进行编辑是个坏主意。我不确定是否真的如此,我的印象是最好尽可能限制,但如果我错了,请纠正我
-
@DonalNoye 你说得很对:对来自开放网络的数据尽可能谨慎是好事。您还可以从网络向哈希 not 添加一些内容,例如
current_user.links.build link_params.merge(subreddit: @subreddit)
标签: ruby-on-rails ruby ruby-on-rails-4 associations