0

これらは私のアプリケーションのページです:

まず、インデックス:

ここに画像の説明を入力

次に、「新しいタスクを追加」を押すと:

ここに画像の説明を入力

フィールドに入力して「新しいタスクを追加」を押すと、インデックス ページに移動する必要がありますが、空白のページが表示されます。

ここに画像の説明を入力

リフレッシュすると、次のようになりました。

ここに画像の説明を入力

これはファイルです: tasks_controller.rb:

ここに画像の説明を入力

これは次のファイルです: new.html.erb

ここに画像の説明を入力

私の質問は、どうすれば問題を解決し、空白ページの代わりにインデックス ページ (tasks_path) を取得できますか?

4

2 に答える 2

1

問題は、オブジェクト自体にリダイレクトしていないことです。もしあなたがそうするなら:

redirect_to @task, :notice => "Your post was saved"

準備万端です。

また、スクリプトに問題があることを付け加えておきます。形式に関係なくリダイレ​​クトされます。ただし、他のコードに基づいて、JSON リクエストも受け入れているように見えます。おそらく、コードを次のように切り替える必要があります。

format.html { redirect_to @task, notice: 'Your task was created.' }
format.json { render json: @task, status: :created, location: @task }

ただし、使用する API は適切にリダイレクトする必要があるため、システムは同様に機能します。

于 2012-12-22T00:31:59.617 に答える
1

同じコントローラーのインデックスにリダイレクトする場合は、ヘルパー メソッドを使用する必要はありません。単純に次のように記述できます。

flash[:notice] = 'your post was saved'
redirect_to action: "index"

同じ行に通知を設定できるかもしれませんが、よくわかりませんが、この方法で機能するはずです。

編集:空白のページが表示される理由はわかりませんが...インデックスメソッド/ erbも投稿する必要があるかもしれません

于 2012-12-22T00:43:47.660 に答える