Rails选择表单帮助程序需要保存一个对象的多个属性值

时间:2011-09-23 13:55:54

标签: ruby-on-rails haml

我有一个表格,我正在为职位发布创建一个面试,其中一个字段是一个下拉列表,我选择候选人(从另一页面上创建的候选人列表中),我打算采访。

到目前为止,我能够保存采访的详细信息以及候选人姓名,但我也希望保存候选人ID。我不知道该怎么做。

目前我有

= select("interview", "interviewee_name", Candidate.order('last_name ASC').collect {|c| [c.fullname]})

不知何故,我需要找到一种方法来检索并将正确的值保存到candidate_id。

感谢任何帮助:)

2 个答案:

答案 0 :(得分:0)

= select("interview", "interviewee_name", Candidate.order('last_name ASC').collect{|c| [c.fullname, c.id]})

<强> UPD

然后(如果你真的需要存储它的名字)在模型中添加回调:

class Interview < AR::Base
  before_save :set_candidate_name
  belongs_to :candidate

private

  def set_candidate_name
    self.interviewee_name = self.candidate.fullname
  end
end

答案 1 :(得分:0)

您可能需要使用javascript来执行此操作 - 基本上在select元素上放置一个click处理程序并对服务器进行ajax调用以从id中检索候选名称。然后填充回调中的名称字段。

如果您使用的是jquery,我想我在某处有一些示例代码...