Мое блестящее приложение считывает внешний CSV-файл, обновляет его, используя пользовательские данные в приложении, и обновляет внешний CSV-файл с помощью этих файлов.Это работает локально, однако с моим приложением на блестящем сервере оно не обновляется, есть идеи, почему это так?Спасибо.
Я добавил несколько упрощенных кодов ниже, но не совсем уверен, если это имеет смысл, функция num предназначена для ввода входных данных, их поиска во фрейме данных и обновления, а затем для вывода обновленного фрейма данных идругой фрейм данных под названием «числа» с отметкой времени.
Вещи с модалами внизу состоят в том, что функция num () происходит только при нажатии кнопки, это создает модалы, показывающие, что они ввели, и если они нажимают «продолжить», CSV обновляется, еслине они могут вернуться и изменить детали.
ui <- fluidPage(
useShinyjs(),
selectInput("1", "Pick a number", "1-2","2-3"),
selectInput("2", "Pick another number", "4-5", "5-6"),
actionButton("go", "Go")
)
server <- function(input, output, session){
df <- read.csv(df.csv, header = TRUE, sep = ",")
num <- function(df, num1, num2){
date.stamp <- format(Sys.time(), "%Y-%m-%d-%H-%M-%S")
save.file <- paste0("numbers", date.stamp, ".csv")
write.csv(df, file = save.file, row.names = FALSE)
write.csv(df, file = "df.csv", row.names = FALSE)
return(df)
}
observe({
shinyjs::toggleState("go", condition = isTruthy(input$1)
&& isTruthy(input$2))
})
react <- reactiveValues()
observeEvent(input$go, {
react$colm1 <- input$1
react$colm2 <- input$2
react$df1 <- data.frame("Numbers" = c("Num1", "Num2"),
"Values" = c(react$colm1, react$colm2))
react$review <- datatable(rownames = FALSE,
selection = "none",
options = list(dom = "t",
pageLength = nrow(rv$df.check),
autoWidth = FALSE,
columnDefs = list(list(width =
"20%",
targets = c(1)),
list(className = "dt-center",
targets = c(1)))),
react$df.check)
showModal(
modalDialog(
footer = tagList(modalButton("Change numbers"),
actionButton("click", label = "Proceed")
),
strong(em("Inputs Entered")),
p("Please double check numbers"),
DT::renderDataTable({
react$review
})
))
observeEvent(input$click, {
num(df, input$1, input$2)
shinyjs::reset("1");shinyjs::reset("s2")
removeModal()
})
})}
shinyApp(ui = ui, server = server) #calls shiny app