0

我正在使用 ROR3 为一家公司开发员工记录管理系统我是 ROR 的新手。一个月前才开始。因此在开发应用程序时面临一些麻烦。

这些是一些表

1- 配置文件 id service_number first_name last_name

2- 促销 id service-number rank date_of_rank profile_id

当员工晋升到下一个级别时,我有一个表格可以插入晋升记录。

    <%= f.input :service_number %>
    <%= f.input :rank %>

    <%= f.input :date_of_rank, :start_year => Date.today.year - 50, :end_year => Date.today.year%>

        <%= f.hidden_field :profile_id %>


    <%= f.error :base %>
    <%= f.button :submit %>
<% end %>

将数据插入促销表时,我想插入与用户输入的服务号对应的 profile_id。profile_id 是用户的隐藏字段。所以需要自动获取profile_id。我使用服务编号是因为它是公司用来识别员工的唯一编号。

任何人都可以帮我做到这一点吗?

4

1 回答 1

0

有必要有profile_id隐藏标签吗?如果是一个独特的字段,您可以基于该service_number字段查找并将其与您正在创建的字段相关联。ProfilePromotion

def create
  @promotion = Promotion.new(params[:promotion])
  profile = Profile.where(:service_number => @promotion.service_number).first
  @promotion.profile = profile  # this will set profile_id for you

  @promotion.save
  ...
end

这是假设您的Promotion模型具有belongs_to :profile关联并且您的Profile模型具有has_many :promotions关联(或 has_one :promotion)。

于 2012-04-11T00:07:48.080 回答