をレンダリング私はショーのビューのユーザーの内側にいくつかのURLなurl_forするフォームのparamsを渡す/ redirect_to/
get '/vacancies/:id(/:mode)', to: 'vacancies#show', as: 'vacancy', constraints: { mode: /(resume|file)/}
を持っているが、フォームに記入して、サーバーに要求を送信することができます。 ユーザーが有効なパラメータを送信しなかった場合、私は彼をリダイレクトする必要があります。検証エラーが表示され、さらにパラメータを入力してください。
このようなものはどのように実装できますか?このため
UPD1
典型的なレール・ソリューションは、render :new
またはrender :edit
のようなものですが、'/vacancies/:id
ルートのない'/vacancies/:id(/:mode)
のビューをレンダリングしているので、私の場合、私はrender :show
を行うことはできません。
また、私はredirect_to :back
を試してみましたが、これは1つのことを除いてうまく動作します。つまり、paramsは要求を通過しません。
私はそれらの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