Я создал макеты выпадающего меню следующим образом.
<select name="search" id="search" >
<option value="0">Please select</option>
<option value="1">Name</option>
<option value="2">Trainer</option>
<option value="3">Venue</option>
<option value="4">Date</option>
</select>
<div id="div_to_be_updated" style="float:right"></div>
<%= observe_field 'search',
:update => 'div_to_be_updated',
:url => {:controller => 'events', :action=> 'find' },
:with => "'is_delivery_address=' + escape(value)" %>
Затем я создал метод find в моем контроллере.
def find
if params[:is_delivery_address] == "1" || "2" || "3"
render :partial => 'layouts/new_search'
else
render :partial => 'layouts/nothing'
end
end
Затем я создал частичное имя _new_search.
<span style="text-align: right">
<% form_tag "/events/find_search" do %>
<%= text_field_tag :search_string%>
<%= submit_tag "search" %>
<%end%>
</span>
Снова я создал метод find_search в контроллере.
def find_search
events=Event.find(:all, :conditions=>["venue = ?", params[:search_string]])
end
Тогда я создал страницу просмотра. Но когда я искал что-то, это даст исключение.
NoMethodError в событиях # find_search
Отображение app / views / events / find_search.html.erb, где поднята строка # 10:
У вас есть нулевой объект, когда вы этого не ожидали!
Возможно, вы ожидали экземпляр Array.
Произошла ошибка при оценке nil.each
Что мне делать? Кто-нибудь может мне помочь>