Rails,活动管理员,嵌套表单,动态标签值 - 表单对象的问题

时间:2016-03-16 10:31:57

标签: ruby-on-rails activeadmin nested-forms

我有三种模式:

class Request < ActiveRecord::Base
  belongs_to :scenario
  belongs_to :location

  has_many :actions, :foreign_key => 'request_id'
    accepts_nested_attributes_for :actions, :allow_destroy => true
end

class Action < ActiveRecord::Base
  belongs_to :request
  belongs_to :scenario_step
end

class ScenarioStep < ActiveRecord::Base
  belongs_to :scenario
  has_many :actions
end

使用Active Admin我想更新有关响应请求所采取的操作的信息。为此,我使用嵌套形式:

ActiveAdmin.register Request do

    permit_params :scenario_id, :location_id, 
                actions_attributes: [:scenario_step_id, :description]


     form(:html => {:multipart => true}) do |f|
      f.inputs "Request details" do
        f.input :status

        panel 'Steps' do
         "Text ..."
        end
        f.has_many :actions, heading: 'Steps to follow', allow_destroy: false, new_record: true do |ff|
            ff.input :description, label: ff.object.scenario_step_id, hint: 'Text'
            ff.input :scenario_step_id

          end

        para "Press cancel to return to the list without saving."
        f.actions

      end
    end
end

除标签(或提示)外,一切似乎都很好。作为一个值,我想把表scenario_steps中的相关数据放在那里。

正如您所看到的,我目前尝试至少打印应该在对象表单中可用的scenario_step_id的值(ff.object.scenario_step_id),但它不起作用(我在actions表中有这样的列)。另一方面,下一行:ff.input:scenario_step_id将适当的数据加载到输入字段中。

有人可以暗示我做错了吗?

1 个答案:

答案 0 :(得分:1)

以下是我遗漏的内容(部分文书记录):

  

标签/提示/操作的值可以取值:String(显式   值),符号(i18n-lookup-key相对于当前&#34;类型&#34;,例如   动作:),true(强制I18n查找),false(强制没有I18n查找)。   标题(图例)只能采用:字符串和符号 - 真/假没有   含义。

下面这么小的变化(to_s)会产生巨大的差异:)

 ff.input :description, label: ff.object.scenario_step_id.to_s, hint: 'Text'