gpt4 book ai didi

ruby-on-rails - 具有关系的表单中的自动填充 ID

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:50 25 4
gpt4 key购买 nike

我创建了一个博客,里面会有帖子,帖子是由用户创建的。我的博客中已经有一个登录系统。我已经建立了用户和他的帖子之间的关系。现在,当我想添加新帖子时,我希望 Rails 自动填充 user_id 字段。

我应该添加一个隐藏字段并从我保存它的 session 中添加 user_id 吗?

或者 Ruby on Rails 是否有自己的方式来处理关系和使用 ID?

@编辑:

模型:

class Post < ActiveRecord::Base
validates_presence_of :subject, :body
has_many :comments
belongs_to :user
end

Controller :

....
def new
@post = Post.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @post }
end
end
...

最佳答案

如果您想确保博主的帖子与正确的用户相关联,那么根本不要为此使用表单域,因为最终用户可以更改它们的值。最好依靠您拥有的登录系统,并在提交博文表单时执行以下操作:

def create
@post = current_user.posts.build(params[:post])
if @post.save
...
else
...
end
end

假设您有一个 current_user 方法,可能在 application.rb 中,它通过您的登录系统获取当前用户。也许是这样的:

def current_user
@current_user ||= User.find(session[:user_id])
end

并假设您已将 has_many :posts 放入 User.rb。

关于ruby-on-rails - 具有关系的表单中的自动填充 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/698961/

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