[英]How are params passed from the New to Create action in Rails?
我知道,用於Rails表單的new
動作通常會實例化一個模型,並提供帶有允許參數輸入的視圖。
def new
@post = Post.new
end
我沒有得到的是用戶提交的相同信息如何被傳遞到create
動作中的Post.new
方法中:
def create
@post = Post.new(post_params)
...
end
盡管發生頁面刷新,Rails如何引導這些參數create
?
您正在將兩個請求相互混合。 當您點擊new
操作時,將呈現包含form
的視圖。 隨着它的呈現, new
動作完成,現在new
動作與create
動作無關。
您需要采取new
操作來通過form_for
方法創建一個form
,在該form
中您實際傳遞了一個對象,例如@post
。
在create
行動是獨立的, params
收到,他們什么都沒有做new
方法,這些params
通過接收form
中的各種意見new.html.erb文件中呈現。
您還可以通過AJAX甚至使用cURL或POSTMAN-chrome擴展名發送數據,從而在控制器中調用create
方法。
如您所問:
盡管發生頁面刷新,Rails如何引導這些參數創建?
Rails不會引導這些params
,Rails在后端運行,Rails只是接收那些params
。 它們是通過HTML表單發送的,正如我之前說的,還有其他發送params
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.