【发布时间】:2014-01-02 19:54:06
【问题描述】:
Ruby on Rails 3,我有一个包含两个 select_tag 提交的编辑页面。一个用户具有属性 :attend = "Yes",另一个用户具有属性 :attend = "No" 或 nil。我正在尝试获取 select_tag 提交来为用户创建或更新证书表。到目前为止,我知道它正在发布用户 ID 和名称。我不知道如何让控制器或模型获取用户 ID 并使用“是”或“否”的 :attend 属性值创建或更新。该应用程序将使用正确的用户 ID 创建一条新记录,但不会使用 :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
您如何设置控制器以使用 :attend 为“是”来创建或更新新记录? 您如何使用 :attend as "No" 更新记录? 谢谢
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activemodel