Итак, я внедряю систему обмена сообщениями а-ля Facebook для платформы социальной сети, вдохновленной этим учебным пособием http://www.novawave.net/public/rails_messaging_tutorial.html
У меня есть базовая функция отправки сообщений, и теперь я хочу, чтобы пользователь мог сохранить черновик для последующей отправки.
при создании сообщения он создает копии этого сообщения для каждого получателя в методе before_create моей модели сообщения.
to.each do |recipient|
recipient = User.find(recipient)
message_copies.build(:folder_id => recipient.inbox.id, :recipient_id => recipient.id, :read => false)
end
Я хотел бы передать параметры в обратный вызов before_create, чтобы он знал, должен ли он создавать копии сообщений получателям или просто сохранять их как черновик, чтобы я мог использовать тот же метод без изменения модели.
Я думал о том, чтобы пропустить обратные вызовы для этого конкретного случая, но не мог понять, как это сделать.
Вот представление для создания нового сообщения
<% form_for @message,: url => {: controller => "sent",: action => "create"} do | f | %>
<select name="message[to][]" multiple="multiple">
<%= options_from_collection_for_select(User.find(:all), :id, :login, @message.to) %>
</select>
<p>
Subject: <%= f.text_field :subject %>
</p>
<p>
Body:
<br />
<%= f.text_area :body %>
</p>
<p>
<%= submit_tag "Send", :name => 'do_send' %>
<%= submit_tag "Save", :name => 'save_draft' %>
</p>
<% end%>
Есть предложения?
спасибо
редактировать: больше кода!