我一直試圖解決這個問題很長一段時間,我需要一雙新鮮的眼睛。在兩個控制器之間傳遞參數rails
對話有user1,user2並且可以有很多消息。 消息具有用戶和正文,屬於對話。
在我conversations controller
內show
方法我有辦法讓屬於一個會話的所有消息:
@conversation = Conversation.find_by(id: params[:id])
if @conversation.messages.any?
@messages = @conversation.messages
end
param_to_pass = @conversation.user2
@message = Message.new
,我也創建一個新的message model
將它傳遞給當前表單內show.html.erb
form for @message
一旦表單提交,我可以訪問提交的參數,但我也想從conversation controller
傳遞到messages controller
那個值param_to_pass
。我怎樣才能做到這一點?
在create
方法我的消息控制器我使用
message = Message.new(message_params)
是否有可能使用conversation controller
中創建的@message
,只是添加提交形式的額外message_params
? 我可以在消息模型「param_to_pass」中添加一個字段,並將其從conversation controller
(如@message.param_to_pass = param_to_pass
)中添加。
還有什麼我可以發佈使問題更清楚嗎?
謝謝。這聽起來像是一種工作方式。將會有很多消息。很多時候會有創建和更新/銷燬會話的任何缺點嗎? –
這是會話存在的地方。限制主要是大小,因爲會話存儲通常是cookie存儲,所以大約是4k ...由於開銷而少一些。 – SteveTurczyn