好的,我有以下方法:傳遞模塊和類名作爲參數傳遞給一個紅寶石功能
def update_window_for_ctm_staging_extract(target_database,target_table,table_name)
RptMcksWorkdb::CtmStagingExtractControl.
where(:src_tablename => table_name).
update(:from_date_dttm => from_date_dttm, :to_date_dttm => to_date_dttm, :sequence_no => 1)
end
我想要的target_database和target_table參數分別爲模塊和類名,;然後將用該函數代替RptMcksWorkdb::CtmStagingExtractControl
。
所以我最後的功能將類似於此:
def update_window_for_ctm_staging_extract(target_database,target_table,table_name)
target_database::target_table.
where(:src_tablename => table_name).
update(:from_date_dttm => from_date_dttm, :to_date_dttm => to_date_dttm, :sequence_no => 1)
end
編輯:這是我的工作代碼:
def update_control_table_window(target_database, target_table, table_name)
model = "#{target_database.camelcase}::#{target_table.camelcase}".constantize
model.
where(:src_tablename => table_name).
update(:from_date_dttm => from_date_dttm, :to_date_dttm => to_date_dttm, :sequence_no => 1)
end
謝謝,但我貼的代碼不起作用。 target_table變量在我的函數定義中沒有正確映射到相同的變量名稱。我的問題清楚地顯示在標題爲「如何傳遞模塊和類名作爲參數」 – FluffyKittens
您收到的*精確*錯誤消息是什麼?你打算怎麼調用這個方法? –