2015-01-06 7 views
0

Okey guys, мне очень нужна ваша помощь ... Я новичок здесь в мире рельсов и, кажется, застрял в довольно простых вещах.Пройдя другое значение, чем указано в форме

У меня есть форма (с использованием simple_form_for), как это:

= simple_form_for :search, url: places_path do |p| 
    = p.input :group_name, :as => :autocomplete, :source_array => @groups.map { |g| g.name } 
    = p.input :start_date, placeholder: Time.now.strftime("%Y-%m-%d"), :input_html => { :id => 'start_date_picker' } 
    = p.input :end_date, placeholder: Time.now.strftime("%Y-%m-%d"), :input_html => { :id => 'end_date_picker' } 
    = p.input :computer_lab, as: :boolean, boolean_style: :inline 
    = p.button :submit 

Когда пользователь вводит что-то в первом входе group_name он получить предложения, и это хорошо, но то, что мне нужно есть, чтобы иметь возможность передавать с различного значения (другая переменная экземпляра из модели), чем этот внутренний вход.

Вот моя Group модель:

class Group 
    include ActiveModel::Model 

    attr_accessor :id, :name, :type, :type_name 
end 

И когда пользователь нажмет Submit мне нужно пройти :id, а не :name. КАК !? Я застрял здесь ... Мое временное решение проходит :name и под places_path снова получает все groupd и ищет группу с предоставленным именем, чтобы получить ее идентификатор ... Похоже, я пытаюсь изобрести колесо.

ответ

0

Отправьте сообщение group_controller.rb. Но, похоже, ваши параметры не установлены в id. Попробуйте что-то вроде этого в контроллере:

def create 
    @group = Group.new(params[:id]) 
    # followed by your save arguments 
end 

Надеется, что это помогает

+0

У меня нет group_controller, потому что я не хранить их в базе данных. Мой сервис передает только данные из другой службы. – cojoj

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