I have a very simple form that looks allows an input for an error code
and then give the show page from the scaffolding if the error code is
in the database and a notification on the list page, again from the
scaffolding if not.
Here’s the form:
find.rhtml
Find error
<%= start_form_tag :action => 'search'%>Code
<%= text_field 'message', 'code' %>
<%= link_to ‘Back’, :action => ‘list’ %>
Here’s the method, search in the controller
def search
code=params[:message][“code”]
@message = Message.find_by_code(code)
if @message.nil?
#render :action => ‘find’
flash[:notice] = “Code #{code} not found!\n Please choose a
code from this list”
flash[:error] = ‘Boom’
redirect_to :action => ‘list’
else
redirect_to :action => ‘show’, :id => @message
end
end
It works except for the fact that flash[:error] does not display and
in fact if I try :error for the first flash, it will not display.
Aside from this problem is their a better way to do this. I have the
agile book and googled quite a bit to finally find how to pass
non-database elements from a form to the controller, but I’ve lost the
link. I’m new to web apps so I don’t know what the accepted practice
is for something like this so any helpful advise or criticism is
appreciated.
–
-vapid