为 AXLSX 重命名 Rails 参数
Rename Rails Params for AXLSX
我正在从我的前端应用程序中获取一个动态字段数组,以确定我的工作簿将包含哪些内容。其中两个字段将具有相同的值,但我想要不同的列标题。所以我将其添加到我的方法中:
fields = params[:fields]
fields[0].replace('new string')
sheet.add_row fields
exportees.each do |event_session_registration|
row_array = params[:fields].map { |field| event_session_registration.try(field) }
row_array.map! { |value| value == true ? 'Yes' : value }
row_array.map! { |value| value == false ? 'No' : value }
sheet.add_row row_array
end
Fields[0]
是两个相同字符串中的第一个。
现在的问题是,在我的 .each
循环内部,params[:fields]
现在与我更新的 fields
变量具有相同的内容。我试过使用 .dup
但这并没有使我的参数保持不变。我可以通过执行以下操作来解决此问题:
fields = params[:fields]
fields[0].replace('new string')
sheet.add_row fields
fields[0].replace('original string')
但是,我很好奇是否有更简洁的方法来复制我的参数以便打印不同的列 headers。提前致谢!
试试这个:
parameters = params.to_h
fields = parameters[:fields]
我正在从我的前端应用程序中获取一个动态字段数组,以确定我的工作簿将包含哪些内容。其中两个字段将具有相同的值,但我想要不同的列标题。所以我将其添加到我的方法中:
fields = params[:fields]
fields[0].replace('new string')
sheet.add_row fields
exportees.each do |event_session_registration|
row_array = params[:fields].map { |field| event_session_registration.try(field) }
row_array.map! { |value| value == true ? 'Yes' : value }
row_array.map! { |value| value == false ? 'No' : value }
sheet.add_row row_array
end
Fields[0]
是两个相同字符串中的第一个。
现在的问题是,在我的 .each
循环内部,params[:fields]
现在与我更新的 fields
变量具有相同的内容。我试过使用 .dup
但这并没有使我的参数保持不变。我可以通过执行以下操作来解决此问题:
fields = params[:fields]
fields[0].replace('new string')
sheet.add_row fields
fields[0].replace('original string')
但是,我很好奇是否有更简洁的方法来复制我的参数以便打印不同的列 headers。提前致谢!
试试这个:
parameters = params.to_h
fields = parameters[:fields]