【发布时间】:2013-12-20 17:43:14
【问题描述】:
Ruby on Rails 3
我有一个提交 user_id 的表单。我正在尝试让 POST 使用 user_id 创建一个新的证书条目,并将 :attend 属性设置为“yes”。
发送的帖子是:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xYUdeMjkxa1b0AhNTKJi9sDbSPo9MbwMMVPrV7cgpyo=", "certificate"=>[{"user_id"=>"1"}], "commit"=>"Submit"}
这是我的编辑:
<%= form_for(@trained) do |f| %>
<%= select_tag "certificate[][user_id]", options_for_select(@current_users.collect{|x| [x.name, x.id]}), {:multiple => :multiple} %>
<%= f.submit "Submit", class: "btn btn-large btn-primary" %>
<% end %>
这是我的模型:
class Certificate < ActiveRecord::Base
attr_accessible :attend, :pass, :user_id
validates :user_id, presence: true
end
这是我的编辑控制器
def edit
@trained = Certificate.new(params[:user_id])
end
这是我用于 create() 的证书控制器
def create
@trained = params[:certificate][:user_id]
params[:certificate][:attend] = "no"
params[:certificate][:pass] = "no"
end
我一直在尝试不同的 create() 方法,但不知所措。如何获取 POST 以使用 user_id 创建新证书?我需要把 sumbit 按钮做成两个按钮,一个用于添加,一个用于删除。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 forms input