我有一張用於創建票據的表單,該表單需要一個項目的ID。這有效,但不涉及驗證。如果驗證不會通過'render:new'並且project_id不附帶它。發送參數進行渲染
我已經嘗試了'redirect_to new_ticket_path(:project_id => params [:ticket] [:project_id]),它再次呈現窗體,但錯誤消息不會顯示出來,所以看起來我需要使用'render :新'。
如何將project_id傳遞迴表單或從表單到達project_id而不傳遞它?
def new
@ticket = Ticket.new
@id = params[:project_id]
@project = Project.find(@id)
end
def create
@ticket = Ticket.new(params[:ticket].merge(:user_id => current_user.id))
if @ticket.save
redirect_to @ticket
else
render :new <--- will render without the project_id
end
end
嘗試了您的解決方案,但得到以下錯誤:「未定義的方法項目」爲#「...引用 - >」<%= f.hidden_field:project_id,:value => @ ticket.project.id %>「 –
holyredbeard
2013-02-14 15:12:58
好吧,像Ticket,Project和project_id這樣的名字,我認爲這就是名字。您的票務必須有'belongs_to:項目'或類似的,對嗎?您需要使用關係的名稱。 – Jim 2013-02-14 15:14:52
.....有一個? :) – holyredbeard 2013-02-14 15:15:20