我有一些網址形式傳遞到PARAMS url_for/redirect_to的/渲染
get '/vacancies/:id(/:mode)', to: 'vacancies#show', as: 'vacancy', constraints: { mode: /(resume|file)/}
放映視圖用戶可裏面的表格併發送請求到服務器。 如果用戶發送無效的參數,我應該重定向他回來,顯示驗證錯誤,我也應該保持填寫params。
我該如何實現這個東西?
upd1
這個典型的Rails解決方案是一樣的東西render :new
或render :edit
,但對我來說,我不能做render :show
因爲被渲染視圖'/vacancies/:id
路線不是爲'/vacancies/:id(/:mode)
。
另外我試過做redirect_to :back
和這工作正常,除了一件事情︰PARAMS不通過請求傳遞。
我猜裏面有response
對象的解決方案,但沒有找到尚未
UPD2
class VacanciesController < ApplicationController
# vacancies/:id - is just show view
# vacancies/:id/resume - is show view with form
# vacancirs/:id/file - is show view with form for sending pdf|doc|etc
def show
@vacancy = Vacancy.find(params[:id])
end
def create
if Vacancy::SaveResume.new(resume_params).call.valid?
redirect_to vacancies_path
else
# didn't know what to do there
end
end
end
這是非常基本的Rails的東西。如果你仍然陷入困境,我建議給[本指南](http://guides.rubyonrails.org/action_controller_overview.html)閱讀併發布更詳細的問題。 – Thilo
@Thilo我剛更新了帖子 – DmitrySharikov
你最好在這個特殊情況下使用ajax。 – Ilya