0
フィールド 'customURL'を持つページモデルがあります。私は '/:customurl'にpage#showを行うことができます。しかし、私はルートでページショーをそのように定義しているので、私の作成アクションは現在、間違ったルートへのリダイレクトを成功させます。保存時にリダイレクトが正しく「/:customurl」を指すように修正するにはどうすればよいですか?Rails 3.1 - カスタムルートで正しくリダイレクトする方法
コントローラ:
def create
@page = Page.new(params[:page])
respond_to do |format|
if @page.save
format.html { redirect_to page_url, notice: 'Page was successfully created.' }
format.json { render json: @page, status: :created, location: @page }
else
format.html { render action: "new" }
format.json { render json: @page.errors, status: :unprocessable_entity }
end
end
end
路線:
resources :pages
...
get "/:customURL" => "pages#show"
ありがとう!
これは私のサーバーを現在クラッシュさせています。これはログに次のように表示されます: 'Exit .../config/routes.rb:18:'ブロック内の '(必須)':未定義のローカル変数またはメソッド 'CustomD 'for#(NameError) '私はここに必要なツイークがあるかどうか、もしかするともっとコードが必要なのかどうか教えてください...ルートヘルパーなどをどこかに追加する必要はありますか? –
tuddy
あなたが持っているものを使って、私はそれを一緒にまとめることができました。これは私のために働いた、おそらくそれに応じてあなたの答えを編集ですか?ルート: 'get '/:customURL ==" pages#show "、:as =>:pageshow'そしてコントローラ' format.html {redirect_to pageshow_path(@ page.customURL)、...] – tuddy
申し訳ありません、それは'as::custom'です。私はそれを修正します! – Travis