Ruby on rails 为什么Rails是我的应用程序传递的唯一参数?
我有一个搭建在脚手架上的Rails应用程序。出于某种原因,每当我尝试从编辑页面转到索引页面时,都会出现以下错误:Ruby on rails 为什么Rails是我的应用程序传递的唯一参数?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我有一个搭建在脚手架上的Rails应用程序。出于某种原因,每当我尝试从编辑页面转到索引页面时,都会出现以下错误: ActionController::ParameterMissing in PostsController#create 它唯一的参数是真实性令牌: Parameters: {"authenticity_token"=>"foobarbazrandomcharactershere"} 控制器中的编辑和索引操作都很简单: def index @posts = Po
ActionController::ParameterMissing in PostsController#create
它唯一的参数是真实性令牌:
Parameters: {"authenticity_token"=>"foobarbazrandomcharactershere"}
控制器中的编辑和索引操作都很简单:
def index
@posts = Post.all
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
end
end
为什么它要传递真实性令牌而不传递其他参数?它传递该令牌以防止XSSR:
我们必须查看您的编辑视图。它正在尝试访问不可用的
参数[:tag]
。我认为编辑视图是扭曲的,表单字段在表单标记之外,因此它们不会被发送回。显示编辑视图ERB/HAML及其生成的HTML,然后突出显示您试图提交的表单元素。问题是我已将链接更改为按钮更改为,默认情况下,按钮更改为。修复方法是将:method
参数添加到按钮上:
<%= button_to 'Home', posts_path, method: 'get' %>
我很困惑,您说错误发生在您试图从编辑页面导航到索引页面时,但您显示的错误表明它在创建
方法中,这只会发生在帖子上。你能澄清一下吗?诚然,OP的标题有误导性,但这并不是他们想要的。只是出于好奇,你为什么需要使用按钮?有了正确的样式,你可以让链接看起来像一个漂亮的按钮,如果这就是你想要的,那么你就不必担心方法:'get'
stuff.Teeg,你是对的。我发现使用link_to和一个样式化的div也能起作用,我只是想解决这个问题,而不是使用变通方法。