この質問には明らかな答えがあるかもしれませんが、どこを見るかわかりません。URLに空のクエリパラメータ(/ new?)を追加しているレール
何らかの理由で、一部のリダイレクトでrailsが空のクエリ文字列をURLに追加しています。私はユーザーの "ダッシュボード"ページを持っています。そこで、ボタンをクリックして新しい "foo"を作成することができます。
このパスに移動するためにボタンをクリックすると、URLに "localhost/foo/new?"と表示されます。
私はこのファントムクエリパラメータがどこから来ているのかわかりません....それは大きな問題であるかどうかわかりませんが、何らかの理由で私はキャッシュやSEOで私を傷つける可能性があると感じています終わり。誰にどこを見ていくつかのポインタがありますか?
UPDATE 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
2番目のコメントについて - 私はこのオブジェクトがデータベースに永続化されるとは思わないこの時点?私はRailsオブジェクトと考えました。新しいメソッドはメモリ内に構築したもので、#saveまで永続化されません。
UPDATE問題がなくなっているようだ「のlink_to」にコードを変更するには2
...あなたはこれを説明できますか?
新しいfooリンクを生成するためにnew_fooヘルパーを呼び出すときに使用しているコードを追加できますか? – spike
'foo'がデータベースに永続化されているかどうか確認してください。 – luacassus
コメントありがとうございます - 私は質問に追加の詳細を追加しました。私はそれを理解したかもしれないかもしれませんが、理由を知らないのです! @luacassus - 私はオブジェクトがこの時点でデータベースに保持されるとは思わないでしょう...通常、新しいアクションはフォームのメモリにオブジェクトを作成しますか? – Brandon