我试图在我的 RoR 应用程序中检索发布参数。但是,当我打印时:
params
它回应
{
"action":"new",
"controller":"question"
}
这只是控制器和动作。我如何从控制器中引用 post 变量?
在我的日志中,我收到错误:WARNING: Can't verify CSRF token authenticity
我试图在我的 RoR 应用程序中检索发布参数。但是,当我打印时:
params
它回应
{
"action":"new",
"controller":"question"
}
这只是控制器和动作。我如何从控制器中引用 post 变量?
在我的日志中,我收到错误:WARNING: Can't verify CSRF token authenticity
这就是您获得帖子变量的方式。如果他们不在那里,那么您的表格或提出请求的任何东西都有问题。
放弃您的自定义路线match "/new/question" => "question#new", :via => :post
您不需要它,这只是令人困惑的事情。新操作不接受参数,只应响应 GET 请求。
只需发送一个 HTTPPOST 请求your/url/questions
,rails 就会知道调用 create 操作,你可以传入任何你需要的参数。
新操作用于呈现不用于接受 POST 请求的表单。同样,如果您向 rails 发送 PUT 请求,your/url/questions
只需知道在问题控制器中调用更新操作。这就是 RESTfull 路由的全部意义所在。
伙计,您的布局中是否包含“csrf_meta_tags”?
<%= csrf_meta_tags %>
如果不是,那么 Rails 将放弃所有 POST 参数...