Я новичок в этом, и я использую datamapper и sinatra для создания базового приложения. У меня есть страница настроек с несколькими текстовыми вводами для нескольких различных настроек.
При просмотре этой страницы следует извлечь информацию из базы данных и заполнить поля ввода, если они там есть.
Для моего класса настроек у меня есть: имя и: значение
На данный момент у меня работает код, который позволяет создавать настройки, если имя еще не существует, и обновляет их в противном случае.
Setting.first_or_create(:name => "seed").update(:name => "seed", :value => params[:seed])
3 задачи:
если ввод пустой (очевидно, после первого раза), он перезаписывает его с ""
Как мне сократить этот код? Должен ли я определить метод в реальной программе ruby, чтобы не было слишком много избыточного кода? У меня есть 5 настроек, так что я чувствую, что иметь эту строку кода 5 раз с несколькими разными вещами - это плохо. Сложность в том, что я буду вынужден назвать = "" все мои входные данные точным хешем, который я использую. Я не уверен, что это плохая практика или нет, или я должен просто сделать все это явно 5 раз
Для того, чтобы «получить» данные для отображения, у меня есть это:
@seed = Setting.get(:name => "seed")
Это, очевидно, не работает ... мне нужно получить params [: value] WHERE: name => "seed" и использовать <% = @seed (???)%> для его распечатки , я не уверен, как это сделать