Ruby on Rails 3, у меня есть страница редактирования с двумя представлениями select_tag. У пользователей есть атрибут: attend = "Да", а у другого есть пользователи, у которых есть атрибут: attend = "No" или nil. Я пытаюсь получить представления select_tag для создания или обновления таблицы сертификатов для пользователя. На данный момент я знаю, что это POSTing идентификатор пользователя и имя. Я не знаю, как заставить контроллер или модель взять идентификатор пользователя и создать или обновить с помощью атрибута: attend атрибута «Да» или «Нет». Приложение создаст новую запись с правильным идентификатором пользователя, но не с: посещает, поскольку она не находится в моем представлении select_tag.Добавление или изменение записи с идентификатором пользователя
Вот мое редактирование:
<%= form_for @untrained do |f| %>
<p> Trained Users </p>
<%= select_tag "certificate[user_id]", options_for_select(@current_trained.collect{|x| [x.name, x.id]}), {:multiple => :multiple} %>
<%= f.submit "Un-Train", class: "btn btn-large btn-primary" %>
<% end %>
<%= form_for @trained do |f| %>
<p> Non-Trained Users </p>
<%= select_tag "certificate[user_id]", options_for_select(@non_trained.collect{|x| [x.name, x.id]}), {:multiple => :multiple} %>
<%= f.submit "Trained", class: "btn btn-large btn-primary" %>
<% end %>
Вот мой контроллер:
@trained = Certificate.new(params[:certificate])
@untrained = Certificate.update(params[:user_id])
Вот моя модель:
attr_accessible :attend, :pass, :user_id
belongs_to :user
validates :user_id, presence: true
Как установить контроллер для создания или обновления новая запись: присутствовать как «Да»? Как вы обновляете запись: посещаете как «Нет»? Спасибо
Можете ли вы показать, как делать и проверить? Если вы видите его на странице, Rails вытаскивает его из базы данных. В вашем контроллере вы бы @trained = Certificate.new (params [: certificate]) @ training.update_attributes (присутствовать: «да») – Leon
В моем журнале показано Сохранение POST в БД. Атрибуты обновления не регистрируются. Когда я запускаю Certificate.all, записи показывают нуль. Мои представления используют несколько переменных экземпляра в циклах. У меня даже есть проверка if, проверяющая «Yes» Certificate.find_by_user_id (@trained_user_id) .attend == «Да», и это показывает их на мой взгляд ??? – DDDD
попробуйте добавить это в свою форму <% = f.hidden_field: attend,: value => «Да»%>, а затем проверьте параметры и обновите столбец с этим. – Leon