【发布时间】:2021-07-12 01:33:32
【问题描述】:
我是学习 Rails 的新手。我想尝试创建一个简单的应用程序,用户可以在其中写帖子,然后其他人可以对他们的帖子发表评论。
我有 3 个模型。用户、帖子和评论。创建新评论时,我无法将参数中的 post_id 和 user_id 带入。
这是我在 cmets 控制器中的新方法
def new
@comment = Comment.new(user_id: params[:user_id], post_id: params[:post_id])
end
在我的服务器中,我似乎正在传递 params 键(不确定这是否是正确的术语)并且我正在寻找值。
Started GET "/comments/new?post_id=post_id&user_id=user_id" for ::1 at 2021-04-16 22:40:14 -0700
(0.1ms) SELECT sqlite_version(*)
Processing by CommentsController#new as HTML
Parameters: {"post_id"=>"post_id", "user_id"=>"user_id"}
Rendering comments/new.html.erb within layouts/application
Rendered comments/_form.html.erb (Duration: 1.5ms | Allocations: 715)
Rendered comments/new.html.erb within layouts/application (Duration: 1.8ms | Allocations: 814)
[Webpacker] Everything's up-to-date. Nothing to do
Completed 200 OK in 18ms (Views: 9.9ms | ActiveRecord: 0.6ms | Allocations: 10798)
我传递的参数是“post_id”,它应该是一个与正确帖子对应的整数。
我不确定要谷歌什么来弄清楚如何获取参数。我想也许它嵌套在 cmets 控制器下所以我试过了
def new
@comment = Comment.new(user_id: params[:comments][:user_id], post_id: params[:comments][:post_id])
end
这破坏了我的代码。我不知所措。我不知道用什么谷歌来尝试解决这个问题。任何帮助将非常感激。谢谢。
【问题讨论】:
标签: ruby-on-rails forms model-view-controller parameters