ruby-on-rails 在rails Active Admin中,如何传递值以预填充新模型表单

igsr9ssn  于 2023-11-20  发布在  Ruby
关注(0)|答案(2)|浏览(149)

假设我有一列远程员工,每个员工都可以是家庭员工或远程员工。
从远程员工索引页面,我可以点击创建家庭工人,它会带我到新的家庭工人创建页面。
下面的代码为我构建了一个链接,将我带到创建家庭工作者页面。

column :home_worker do |remote_staff|
      if remote_staff.home_worker
        link_to("Home worker ##{remote_staff.home_worker.id}", admin_home_worker_path(remote_staff.home_worker), method: :get)
      else
        link_to('Create Home Worker', redirect_to_home_worker_create_admin_remote_staff_path(remote_staff), method: :get)
      end
    end

字符串
假设所有远程员工都有全名,在家工作的员工也有全名。如何预先填写创建在家工作的员工全名列?

bf1o4zei

bf1o4zei1#

稍微改进的通用版本,仅为新记录设置(覆盖)值:

form do |f|
  f.inputs do
    attr_name = :barcode
    attr_value = resource.new_record? ? params[attr_name] : resource.send(attr_name)
    f.input(attr_name, input_html: { value: attr_value })
  end
end

字符串

pn9klfpd

pn9klfpd2#

我找到了一种方法.我只需要将以下内容放入新的home worker f.inputs中,然后将该值作为full_name传递

remote_staff_full_name = RemoteStaff.find(params['home_worker']["remote_staff_id"]).full_name unless params['home_worker'].nil?

个字符

相关问题