Я внедряю SmsService для отправки текстового сообщения на телефон пользователя. SmsService получает содержимое текстового сообщения от SmsContent
:Получить шаблон строки из файла и автоматически привязать данные
class SmsContent
def initialize(sms_type, data)
@sms_type = sms_type
@data = data
end
def get_content
sms_template_one_way = 'Hello #{customer_name}, this is your one way itinerary from #{depart_place} to #{arrive_place} ...'
sms_template_round_trip = 'Hello #{customer_name}, this is your round trip itinerary from #{depart_place} to #{arrive_place} ...'
customer_name = @data.customer_name
depart_place = @data.depart_place
arrive_place = @data.arrive_place
if @sms_type == 1
sms_content = sms_template_round_trip
else
sms_content = sms_template_one_way
end
sms_content
end
end
Я должен хранить свой шаблон сообщения в качестве String
переменных. Как я могу реорганизовать этот код? В частности, как я могу хранить шаблоны сообщений в файле и автоматически привязывать данные к шаблону?
просто используйте метод «render». –
Я новый парень из Ruby, так что было бы неплохо, если бы вы приводили пример ссылки для рендеринга этого –
. Обратите внимание, что ваш шаблон, как они сейчас, сможет выполнить произвольный код ruby. Таким образом, вы никогда не должны принимать их от пользователя, иначе пользователь может выполнить произвольный код в вашем приложении (который забирает пароли, меняет данные, ...). Если вы хотите принять эти шаблоны для пользователя, вы должны использовать безопасный язык шаблонов, например [Liquid] (https://shopify.github.io/liquid/). –