這是一個簡單的問題。如果表格填寫不正確,我會在創建操作中致電render 'new'
,以便人員可以正確填寫表格。不幸的是,這會導致URL中的參數丟失。我如何將它們與渲染調用一起傳遞?如何通過渲染調用傳遞參數?
0
A
回答
1
您的操作方法應該選取參數並將其分配給實例變量。這個例子中的模型被稱爲note。
def create
@note = Note.new(params[:note])
respond_to do |format|
if @note.save
format.html { redirect_to @note, notice: 'Note was successfully created.' }
else
format.html { render action: "new" }
end
end
end
的實例變量,然後您的視圖中可見:
<%= form_for(@note) do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
0
通常,參數作爲隱藏字段傳遞給表單本身,以便您可以在創建操作中從它們中獲取。
0
渲染調用應該使用帶「@」的變量(又名實例變量)。確保#create與#new具有相同的實例變量。
class ExampleController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.valid?
@user.save
redirect_to "/"
else
render 'new'
end
end
end
0
更好的方法是你定義它們已經隱藏字段,並宣佈隱藏字段作爲模型attr_accessor,但如果你堅持應該只使用後的參數,你可以寫,即使通過獲取參數所有params在你的表單中動作如下:
form_for @event,:url => events_path +'?getvar = 1'do | f |
相關問題
- 1. VueJS通過渲染傳遞數據
- 2. 通過渲染傳遞變量
- 3. Rails渲染並傳遞查詢參數
- 4. 渲染頁面並傳遞參數
- 5. 通過調用URL傳遞JavaScript參數
- 6. 如何通過參考傳遞參數?
- 7. 如何通過傳遞參數調用函數?
- 8. Javascript:如何通過變量和傳遞參數調用函數
- 9. 通過OnSuccess回調傳遞Url參數
- 10. 如何在.js.erb渲染文件中傳遞參數並獲得
- 11. 如何在渲染動作中傳遞參數
- 12. 如何將參數傳遞給離線渲染的組件?
- 13. 如何通過AJAX調用jQuery DataTable傳遞額外參數
- 14. 當通過jQuery調用asmx服務時,如何傳遞參數?
- 15. 如何通過傳遞參數與MSDeploy
- 16. 如何通過link_to傳遞params參數?
- 17. 如何通過NSThread傳遞參數
- 18. 如何通過pytest參數傳遞
- 19. 如何通過傳遞參數
- 20. 如何通過傳遞參數
- 21. 如何通過link_to傳遞參數到
- 22. 如何通過參數傳遞視圖?
- 23. 如何通過$ _POST傳遞空參數
- 24. 如何通過`confirmDialog`傳遞參數?
- 25. 如何不通過URL傳遞參數?
- 26. 如何通過link_to傳遞參數?
- 27. 如何通過UIButton傳遞參數
- 28. 如何通過tab參數傳遞?
- 29. celerybeat如何通過調度器將參數傳遞給函數?
- 30. 通過url傳遞參數