2011-01-03 16 views
0

POSTリクエストをリダイレクトして、他のものと一緒にURLが正しいことを確認しています。IF文でRuby on Rails redirect_toが機能していませんか?

if !params[:address].blank? 
    town = Town.find(:all, :conditions => ["name = ?", params[:address]]) 
    @towns = town 
    if !town.blank? 
    redirect_to '/town/' + params[:address] 
    else 
    @town_invalid = 'test' 
    end 
end 

エンド

を、私はそれは単純なものであると私は単にそれを見ることができないと確信している:私は下の町のためにif文で追加する前にリダイレクトがうまく働きました。また、目立つエラーやコード違反がある場合は、私が始めたばかりのときに私に知らせてください。

EDIT:

Safari can’t open the page.Safari can’t open the page “http://localhost:3000/” because the server unexpectedly dropped the connection. This sometimes occurs when the server is busy. Wait for a few minutes, and then try again. 

感謝を:私はこれを言及する必要がありますが、実際の町に入ったとき、私は戻ってサファリから得るものです!

+0

エラーが発生した場合はどうなりますか? –

+0

申し訳ありません私はちょうどページメッセージを開くことができないエラーは、更新していません。 –

+0

params [:address]には何がありますか? – Heikki

答えて

1

params[:address]をURLでエンコードする必要があります。あなたはそれが真実であるかどうかを評価する必要がまず

redirect_to '/town/' + u(params[:address]) 

url encode equivalent in ruby on rails

0

。理想的には、そうすべきです。

if !params[:address].blank? == true 
    town = Town.find(:all, :conditions => ["name = ?", params[:address]]) 
    @towns = town 
    if !town.blank? == true 
    redirect_to '/town/' + params[:address] 
     else 
     @town_invalid = 'test' 
    end 
    end 

ここで、params(アドレス)が利用できない場合は、そうする必要があります。

関連する問題