我有三种模式:
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将适当的数据加载到输入字段中。
有人可以暗示我做错了吗?
答案 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'