В Как разрешить настраиваемый FormBuilder обернуть выбор datetime_select, например. a div? Я в основном сталкиваюсь с той же проблемой.
JavaScript для меня не вариант, а date_separator
hack - это ... хак:)
I придумал следующее решение (работает для меня, в HAML). Я думаю, что это самое чистое решение до сих пор, но полагается на некоторые внутренние элементы Rails.
- date_time_selector = ActionView::Helpers::DateTimeSelector.new(Time.current,
{ prefix: @usage.model_name.param_key,
field_name: :starttime.to_s,
include_position: true })
.select
= date_time_selector.select_year
.select
= date_time_selector.select_month
.select
= date_time_selector.select_day
.select
= date_time_selector.select_hour
.select
= date_time_selector.select_minute
Все, что вам нужно сделать, это отрегулировать prefix
(@usage
в моем случае) и field_name
(Атрибут-имя, @usage.starttime
/ starttime
в моем случае). В этом примере я обертываю соответствующие поля даты в div класса «select».
Для справки есть еще много вариантов для игры, вот ссылки на соответствующий код:
При использовании Serverless вы можете использовать переменные окружения в вашем файле .yml следующим образом:
myProperty: ${env:MY_ENV_VAR}
Если вы хотите привязать его к SNS, ваш файл .yml должен выглядеть примерно так:
service: my-service
provider:
name: aws
runtime: python3.6
functions:
hello:
handler: handler.hello
events:
- sns: ${env:MY_ENV_VAR}
Теперь, если вы хотите получить доступ к переменной среды из вашей функции Lambda, это будет зависеть от того, на каком языке вы кодируете, но поскольку вы используете Python, это будет что-то как:
import os
print("environment variable: " + os.environ['MY_ENV_VAR'])
РЕДАКТИРОВАТЬ : После комментария ОП, я думаю, что я полностью понимаю проблему:
ARN являются предсказуемыми значениями. Они в значительной степени являются конкатенацией вашего региона / идентификатора пользователя / названия темы, например:
arn:aws:sns:us-east-1:00000000:aaa
Если вы предоставляете переменную окружения для вашего Serverless.yml, например:
[ 114]Затем можно программно создать подписку на эту тему на основе ARN прогнозируемой подписки + переменную среды, которую вы определили.
Другой вариант - определить секцию Outputs в вашем файле .yml и использовать CloudFormation Event для запуска Lambda, который программно создаст подписку на основе выведенного ARN [ 1116]