Ruby on Rails - Ajax для извлечения связанных данных выбора - PullRequest
1 голос
/ 15 декабря 2010

Я новичок в RoR, и ваша помощь будет принята с благодарностью.

У меня есть 3 модели - представление, поставщик и поставщик

class Submission < ActiveRecord::Base
has_many :lnksuppliers, :dependent => :destroy
has_many :suppliers, :through => :lnksupplier
accepts_nested_attributes_for :lnksuppliers
end

class Lnksupplier < ActiveRecord::Base
belongs_to :submission,  
belongs_to :supplier
end

class Supplier < ActiveRecord::Base
has_many :lnksuppliers, :dependent => :destroy
has_many :submissions, :through => :lnksupplier
end

таблица lnk_supplier имеет 3 поля - ее первичный ключ, supplier_id, submission_id. Чтобы связать поставщика с отправкой, пользователь выбирает из раскрывающегося списка всех поставщиков, извлеченных из таблицы поставщиков, а идентификатор сохраняется в таблице lnk_supplier. Смотрите код ниже:

    <%= f.select(:supplier_id, options_for_select(Supplier.find(:all).collect {|p| [ p.SUP_COMPANY, p.ID ] })) %> 



  <%= observe_field("submission_lnksuppliers_attributes_0_LPL_SUP_FK",
      :update => "span1",
      :url => { :action => :find_supplier_details },
      :with => "'id='+value") %>

1 Ответ

2 голосов
/ 15 декабря 2010

Выезд Поле наблюдения ; он позволяет передавать выбранное значение из раскрывающегося списка в контроллер Rails через Ajax. Затем в вашем контроллере вы используете выбранный идентификатор для извлечения модели и вывода результата обратно на страницу.

Отредактировано, чтобы добавить: хорошо, код наблюдаемого вами поля - хорошее начало; остальное: 1) в вашем контроллере получить идентификатор из params и использовать его для извлечения данных, связанных с этим поставщиком, и 2) отобразить файл rjs, который указывает, к какому элементу на странице добавить эти данные, а какой использовать для отображения этих данных в формате HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...