Ruby on rails,参数对象中的键是什么?

时间:2016-08-18 07:01:41

标签: ruby-on-rails

我想问一下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

4 个答案:

答案 0 :(得分:1)

actioncontrollerauthenticity_token等密钥外,大多数keys对象中的params因应用程序而异。查看params中的内容的最佳方法是inspect它。

例如,在上面发布的代码中,您可以使用byebugpry暂停执行(类似于设置断点)。

虽然我的个人偏好是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)

您可以在涉及表单(createupdate)的操作的帮助下最好地理解这一点。请在create操作中尝试此操作。

def create
  render text: params
end

这将显示params中的所有键值对,包括authenticity_tokencontrolleractioncommit等关键字以及表单值。< / p>

如果您只对表单值感兴趣,请尝试

def create
  render text: params[:article]
end    

希望这有帮助!