0

我试图在我的 RoR 应用程序中检索发布参数。但是,当我打印时:

params

它回应

{
"action":"new",
"controller":"question"
}

这只是控制器和动作。我如何从控制器中引用 post 变量?

在我的日志中,我收到错误:WARNING: Can't verify CSRF token authenticity

4

3 回答 3

1

这就是您获得帖子变量的方式。如果他们不在那里,那么您的表格或提出请求的任何东西都有问题。

于 2013-04-13T14:06:40.157 回答
0

放弃您的自定义路线match "/new/question" => "question#new", :via => :post您不需要它,这只是令人困惑的事情。新操作不接受参数,只应响应 GET 请求。

只需发送一个 HTTPPOST 请求your/url/questions,rails 就会知道调用 create 操作,你可以传入任何你需要的参数。

新操作用于呈现不用于接受 POST 请求的表单。同样,如果您向 rails 发送 PUT 请求,your/url/questions只需知道在问题控制器中调用更新操作。这就是 RESTfull 路由的全部意义所在。

于 2013-04-13T14:54:02.783 回答
-1

伙计,您的布局中是否包含“csrf_meta_tags”?

<%= csrf_meta_tags %>

如果不是,那么 Rails 将放弃所有 POST 参数...

于 2013-04-13T16:46:02.583 回答