2011-01-12 2 views
0

Я создаю приложение, в котором мне нужно отправить личное сообщение пользователю и спросить его/ее о подтверждении того, хотели бы они присоединиться или нет. Я создал частный модуль сообщений и всякий раз, когда я хочу, чтобы отправить сообщение, я сделать что-то вроде:Модуль сообщений + обработка ссылок для личных сообщений + рельсы

def sendMessage(attributes) 
    subject = 'whatever' 
    body = 'whatever' 
    current_user.sendMessage(current_user, subject, body)  
end 

Тогда я получаю это сообщение и распечатать его в необходимых местах, используя <% = Н%> для побега. Моя проблема теперь в том, что произойдет, если я хочу включить
или, что еще более важно, <% = link_to%> внутри?

Как я могу вставить такие вещи, которые нужно распечатать, а также быть осторожным в том, чтобы избегать атрибутов, предоставленных пользователем? Я думал о создании своего рода частичным, чтобы сделать это для меня, но я, конечно, хотел бы услышать, что вы думаете об этом.

Спасибо :)

ответ

0

Во-первых, вы, вероятно, следует назвать свой метод send_message, так что, как правило, соглашение в Ruby, и Rails.

На вопрос, почему бы не сделать это:

<p><%=h user_submitted_info %> and check out this <%= link_to "Awesome Link", "/" %></p> 

Это избежит представленный пользовательский контент, но оставить link_to в покое. Почему пользователь отправил контент, а ссылка должна быть в тех же тегах ERB?

+0

В настоящее время я не использую никаких шаблонов erb. Я просто получаю текст, предоставленный в функции, и при необходимости распечатываю его на другой шаблон. Поскольку он печатает внутри одного сообщения, действие похоже на viewSingleMessage и отвечает за печать любого сообщения. Поэтому обработка этих данных изнутри не является вариантом. Это просто печатает тело и тему, предоставленные sendMessage. – Spyros

+0

Я не думаю, что понимаю. Если вы используете такие вещи, как <%=h %>, вы используете erb. –

+0

Я использую его как <% = h @content%>. Я не могу явно указать <% = link_to "Awesome Link", "/"%> в моем случае. @content должен быть чем-то вроде «<% = link_to» Awesome Link »,«/»%>». Я спрашиваю, как это сделать. – Spyros

Смежные вопросы