2013-08-06 2 views
0

У меня есть простое приложение. Часть приложения - это простая функция поиска, которая выполняет поиск в базе данных и отправляет параметры в действие «показать».Переключение указателя на действие, чтобы показать действие без сообщения

Прямо сейчас, когда поле поиска находится в представлении «индекс».

Но вместо просмотра индекса, показывающий ... он автоматически пытается отправить меня в

локальные: 3000/молнии/1/3/13 # < ~ Я предполагаю, что это выбор все и пытается перенаправить его к действию шоу?

Вот мое действие от контроллера

def index 
    @zips = Zip.search(params[:search]) 
    if @zips.blank? 
     redirect_to zips_path, :notice => "Zipcode #{params[:search]} is not eligible for Local Delivery" 
    else 
     redirect_to zip_path @zips 
    end 
    end 

Вот моего взгляд индекса

<h1> 
    Pick-up/Delivery Eligibility 
</h1> 
<h3> 
Based on U.S. Zipcode, Canadian Postal Code 
</h3> 
<p class="el"> 
    To find out if you qualify for 4over&#146;s local delivery service, 
    please enter your <nobr>U.S. 5 digit zip code, or</nobr> your 
    <nobr>Canadian 6 character Postal Code,</nobr> then click submit. 

<%= form_tag zips_path, :method => "get" do %> 
    <p><%= text_field_tag :search, params[:search] %> | <%= submit_tag "Search", :name => nil %></p> 
<% end %> 

Как я могу сказать, действие индексного «ждать», пока я не отправлю форму и теперь делать "select *" и передать это?

поведение я хочу, я хочу индексную страницу, чтобы показать и только передать параметры в «шоу» действие, когда форма представляется

Кроме того, это мой файл модели

def self.search(search) 
    if search 
     find(:all, :conditions => ['zip LIKE ?', "%#{search}%"]) 
    else  
     find(:all) 
    end 
    end 

Я бегу рубин 1.9 на рельсах 4

Я новичок в рельсах (и вообще ООП), поэтому любая помощь будет замечательной!

+0

Ничего личного, но я думаю, что вы не понимаете, что делаете, и вы должны начать с Rails Guides. –

+0

@MichaelSzyndel Ничего личного! Я признаю, что я не осведомлен о том, что я делаю. Я прохожу через эти маленькие упражнения на работе, чтобы я мог учиться по следам и ошибкам. Я тоже буду практиковаться с гидами! Вилен чертовски! –

ответ

0

У вас есть redirect_to zip_path @zips, который использует show действие, когда @zips.blank? является ложным. Я бы посмотрел на случай, когда @zips.blank? является ложным

+0

Спасибо за этот совет! Я действительно получил это, чтобы поработать с этим: 'elsif @ zips.count> 1 true' Я уверен, что это не лучшая практика ... но по крайней мере это привело меня к поведению, которое я хочу –

Смежные вопросы