Я уверен, что это совершенно очевидный вопрос для начинающих, но попытка найти ответы на вопросы начинающих по Ruby в Google оказывается бесполезным упражнением.
В любом случае, предположим, у меня есть таблица базы данных, которая выглядит следующим образом:
MyMessage
==================
int :id
string :from
string :to
string :messagetext
Теперь, если мне нужно предоставить URL, который принимает параметры строки запроса в виде:
http://mysite.com/?sender=alice&receiver=bob&message=Hello
Как лучше всего сопоставить параметры строки запроса с моей моделью?
Прямо сейчас, я просто делаю это грубой силой внутри контроллера:
@sender = params[:sender]
@receiver = params[:receiver]
@message = params[:message]
@mymessage = MyMessage.new
@mymessage.from = @sender
@mymessage.to = @receiver
@mymessage.messagetext = @message
@mymessage.save
Я предполагаю, что я смогу создать класс, представляющий этот тип запроса строки запроса, т.е.
class Request
attr_accessor :from
attr_accessor :to
attr_accessor :message
end
Затем используйте магию RoR для создания объекта Request
из params
и еще больше магии для создания метода, который отображает объект Request
на объект MyMessage
.
Есть предложения? Это вообще имеет смысл?