2012-01-02 2 views
0

Ok поэтому у меня есть этот запрос в моей controlllerAjax и Рубин на Rails

@number1 = 3 
    @number2 = 6 
    @itemsok = Contribution.where("first_item_id = ?",@number1).where("first_item_grade = ?",@number2) 

У меня есть также 2 переменных которым следует сделать запрос «обычай» (не сейчас) ... Вопрос в том, как можно ли сохранить введенный пользователь в этом переменные, поэтому он может быть «динамическим» ...

Я думаю, что один подход заключается в создании FOM с кнопкой, как это:

<%= button_to 'All perfect', contribution_path(:id=> contribution.number1), 
        :remote => true %> 

Но как же я слушаю для этого события в Rails?

Я полностью потерян. Спасибо!

ответ

1

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

Если это так, вы должны начать с формы на ваш взгляд, что-то вроде:

<%= form_tag(contribution_path, :method => "get") do %> 
    <%= label_tag(:number1, "Number 1:") %> 
    <%= text_field_tag(:number1) %> 
    <%= label_tag(:number1, "Number 2:") %> 
    <%= text_field_tag(:number2) %> 
    <%= submit_tag("Search") %> 
<% end %> 

Если ваши маршруты настроены правильно это будет посылать параметры в контроллер, так что вы можете использовать их следующим образом:

@number1 = params[:number1] 
@number2 = params[:number2] 
@itemsok = Contribution.where(:first_item_id => @number1).where(:first_item_grade => @number2) 
+0

То есть именно то, что мне нужно, но так же, как вы сказали мои маршруты не правильно, я получил сообщение об ошибке, как это: нет маршрут соответствует {: действие => «шоу»,: контроллер => «вклады» } Я думаю, что мне нужно настроить мои маршруты, чтобы «получить метод»? –

+1

Я не уверен, что имя вашего контроллера или имя действия, но оно должно выглядеть примерно так: получить 'вклад' => 'вклад # поиск',: as => 'вклад' Где 'вклад' является имя вашего контроллера и «поиск» - ваше имя действия. Двойная проверка с «рейк-маршрутами» – ootoovak

+0

Я только что обновил сообщение с помощью своего контроллера, я не могу заставить его работать ... Любые другие мысли? –

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