2016-03-16 28 views
0

我有三個型號:軌,主動管理,嵌套形式,動態標籤值 - 問題與窗體對象

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管理員我想更新關於響應請求採取行動的信息。要做到這一點,我使用的是嵌套的形式:

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。

正如您所看到的,我目前嘗試至少打印應該在對象窗體(ff.object.scenario_step_id)中可用的scenario_step_id的值,但它不起作用(我在動作表中有這樣的列)。另一方面,下一行:ff.input:scenario_step_id將適當的數據加載到輸入字段中。

有人可以給我一個提示我做錯了什麼?

回答

0

這裏是我失蹤了(formtastic文檔的一部分):

值標籤/提示/動作是可以採取的值:字符串(顯式 值),符號(國際化的查找鍵相對到當前的「類型」,例如 actions :),true(強制I18n查找),false(強制沒有I18n查找)。 標題(傳說)只能採取:字符串和符號 - 真/假沒有 的含義。在下面一行

這麼小的變化(to_s),使巨大的差異:)

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