私はこれについて他の人の投稿を読んだことがありますが、私はまだ自分が抱えている問題に頭を悩ませることができません。だから聞いてみようと思いました。
アバターをアップロードするためのフォームがあります。このフォームは:controller =>'board'、:action=>'show'から表示されます
<% form_tag("avatar/upload", :multipart => true ) do %>
<%= error_messages_for :avatar %>
...
これはうまくいきます。問題は、エラーメッセージを表示できないことです。
アップロードは:controller =>'avatar'、:action=>'upload'によって処理されます
if params_posted?(:avatar)
image = get_image(params)
@board = Board.find(session[:board_id])
@avatar = Avatar.new(@board.id, image)
if @avatar.save
# ???
end
end
今、これは私が問題を抱えている部分です。私はredirect_toを実行できないことを知っています。そうしないと、@ avatarのerror_messages_forが失われ、エラーメッセージが表示されなくなりますが、ルートがいくつかあるため、レンダリングを実行すると問題が発生します。
私のroutes.rbには、次のものがあります。
map.connect 'board/celebrating/:id/:name', :controller => 'board', :action => 'show'
だから私が知りたいのは、:controller =>'board'、:action =>'show'にあるボードを再び表示し、@avatarのエラーメッセージを表示する方法です。
これが些細なことだと思われる場合は申し訳ありません。私にとってそれは闘争でした。前もって感謝します。
ミッチェル