我想问一下params
对象中的键列表是什么。来自rails guide的代码:
def destroy
@article = Article.find(params[:article_id])
@comment = @article.comments.find(params[:id])
@comment.destroy
redirect_to article_path(@article)
end
答案 0 :(得分:1)
除action
,controller
和authenticity_token
等密钥外,大多数keys
对象中的params
因应用程序而异。查看params中的内容的最佳方法是inspect
它。
例如,在上面发布的代码中,您可以使用byebug
或pry暂停执行(类似于设置断点)。
虽然我的个人偏好是pry
,但我们会以byebug
为例,因为默认情况下它会带有rails。
def destroy
byebug
@article = Article.find(params[:article_id])
@comment = @article.comments.find(params[:id])
@comment.destroy
redirect_to article_path(@article)
end
一旦您添加了此内容,请从视图中点击destroy
路由,然后返回到您的控制台。你应该看到执行暂停了。
然后,您可以访问params
或已定义的任何其他变量。键入params
后跟回车键将显示params对象中的所有内容。
答案 1 :(得分:0)
我会使用debug(params)
。这将为您提供格式良好的视图。
答案 2 :(得分:0)
如果您想在浏览器中打印并查看所有传递的参数。
render plain: params
答案 3 :(得分:0)
您可以在涉及表单(create
或update
)的操作的帮助下最好地理解这一点。请在create
操作中尝试此操作。
def create
render text: params
end
这将显示params
中的所有键值对,包括authenticity_token
,controller
,action
,commit
等关键字以及表单值。< / p>
如果您只对表单值感兴趣,请尝试
def create
render text: params[:article]
end
希望这有帮助!