gpt4 book ai didi

ruby-on-rails - 在 ruby​​ on rails 中,通过 Controller 创建操作将当前用户 ID 保存到数据库是一个错误的选择吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:24:36 26 4
gpt4 key购买 nike

我的创建操作中的第 3 行是否被视为不良做法?因为一个用户有很多 photo_albums 并且一个相册需要链接到正确的用户我基本上从 current_user 获取 id 并将它存储在我的 photo_albums 数据库表的 user_id 列中。

我确定这应该从模型中完成,例如 before_save 或 before_create我无法让它工作。我创建了一个带有参数的方法,并尝试通过 Controller 将 current_user id 传递到该方法,并将其传递到我的模型中编写的方法,然后在保存之前提供该方法名称,但我得到错误的参数数量错误或未定义的方法。

谁能解释一下我该怎么做,非常感谢。

  def create
@photoalbum = PhotoAlbum.new(params[:photo_album])
@photoalbum.user_id = current_user.id
if @photoalbum.save
flash[:notice] = "Successfully created gallery."
redirect_to @photoalbum
else
render :action => 'new'
end
end

亲切的问候

最佳答案

这个没什么问题但我倾向于使其更具体。

你说一个用户 has_many :photo_album

所以我们可以说

  def create
@photoalbum = current_user.photo_albums.build(params[:photo_album])
if @photoalbum.save
flash[:notice] = "Successfully created gallery."
redirect_to @photoalbum
else
render :action => 'new'
end
end

这实现了同样的事情,但是使用 has_many 可以让我们的意图更加清晰。

关于ruby-on-rails - 在 ruby​​ on rails 中,通过 Controller 创建操作将当前用户 ID 保存到数据库是一个错误的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8903619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com