gpt4 book ai didi

ruby-on-rails - 将参数传递给 Rails 3 中的 before_create 回调

转载 作者:行者123 更新时间:2023-12-04 07:28:54 25 4
gpt4 key购买 nike

因此,受本教程的启发,我正在为社交网络平台实现类似 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 回调,以便它知道是否应该为收件人构建消息副本,或者只是将其保存为草稿,这样我就可以使用相同的方法而不更改模型。

我想过在这个特殊情况下跳过回调,但不知道该怎么做。

这是创建新消息的 View

<% form_for @message, :url => {:controller => "sent", :action => "create"} 做|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>

<%结束%>

有什么建议吗?

谢谢

编辑:更多代码!

最佳答案

我认为您可以借助 Ajax 将消息和消息的接收者存储在数据库中。这样您就可以像 gmail 一样在 wards 之后继续处理消息。

另一种选择是在表单上对“发送”和“另存为草稿”进行 2 次不同的提交,并根据提交参数处理消息。

关于ruby-on-rails - 将参数传递给 Rails 3 中的 before_create 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com