这个问题可能有一个明显的答案......但我不确定在哪里看。
出于某种原因,rails 在某些重定向上将空查询字符串附加到我的 URL。我有一个用户“仪表板”页面,他们可以在其中单击一个按钮来创建一个新的“foo”。
当我单击按钮转到此路径时,URL 显示为:“localhost/foo/new?”
我不知道这个幻像查询参数是从哪里来的......我什至不知道这是否是一个大问题,但出于某种原因,我觉得它可能会在缓存或 SEO 端伤害我。有没有人有一些关于在哪里看的指示?
更新 1
我用来生成指向 new_foo 项目的链接的代码(使用 HAML 和引导程序):
= button_to "New Foo!", new_foo_path, :method => :get, :class => btn_class
控制器中的代码如下所示:
def new
@foo = Foo.new(:my_attribute => 2500)
end
关于第二条评论——我不认为这个对象此时会被保存在数据库中?我认为 Rails object.new 方法只是在内存中构建它,直到#save 才会持久化。
更新 2
在将代码更改为“link_to”时,问题似乎已经消失了......你能解释一下吗?