【问题标题】:Building two associations in Rails在 Rails 中建立两个关联
【发布时间】:2015-10-29 00:17:30
【问题描述】:

如何在 Rails 中创建具有两个关联的对象。假设您有一个属于用户和 Subreddit 的链接模型,那么在创建该链接实例时如何设置 user_idsubreddit_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


【解决方案1】:

你不能像这样设置它们吗:

@link = Link.new(link_params)
@link.user = current_user
@link.subreddit = **some_subreddit**
@link.save

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多