私はTwitterの宝石で簡単なRailsアプリケーションを作っています。アプリケーションは、フォームセレクトから値を選択するようにユーザーに求め、ツイートに入れます。ユーザーはフォームセレクトから値を選択しているので、デフォルト値があるので、ユーザーが「Twitterに投稿する」ボタンに気をつけてクリックすると、Twitterで禁止されている重複ツイートが作成される可能性が高くなります更新アクションのエラーを処理する方法(Twitterのgemを使用)
Twitter::Error::Forbidden in SessionsController#update
Status is a duplicate.
したがって、このnoobのは、彼の最初のエラーハンドラに
def update
@twit = "@TwitterUser #{params[:wants]} to go to #{params[:place]} "
begin
client.update(@twit)
redirect_to show_path, :notice => "' ' + #{params[:wants] + ' ' + params[:place] has been tweeted}"
rescue Exception
redirect_to show_path, :notice => "Hey Loser, Twitter says you cannot post same twice"
end
end
問題を作成しようとしている私は2回連続で同じメッセージを投稿していないときは時々、それはエラーメッセージを示しています。私は、エラーメッセージがどうにかして固執しているのだろうか、それを行うかもしれないような方法でアクションを書いたのだろうか?
エクストラエラーメッセージを含めようとしたのはこれが初めてです。私はそれが正しいか間違っているのか、それとも良くできているのか分かりません。もしあなたがこのコードがどこに行くのかについてのヒントがあれば...非常に感謝しています。例えば、私は同じエラーを起こす可能性があるいくつかのフォーム/アクションを持っていますので、私が使用できるDRYテクニックはありますか?
ので、 2番目の例では、ユーザーが2つのエラーメッセージ「何かが間違っています」を表示し、さらに詳しい説明「Hey Loser ...」か、別々のエラーですか? – Leahcim
2番目の例では、client.update(@twit)がTwitter :: Errorをスローすると、beginブロックから返され、レスキューブロックに置かれます(したがって、if/elseを実行することはありません) ... – edwardsharp