我創建了一個簡單的登錄頁面來收集訂閱模型中的電子郵件地址。將參數傳遞給新控制器
提交時,創建訂閱並將用戶重定向到路由到訂閱的感謝頁面/謝謝。
我想將新創建的ID傳遞給感謝頁面,如訂閱/:id/thanks,以便我可以訪問新創建的感謝頁面的訂閱。
我創建了一個簡單的登錄頁面來收集訂閱模型中的電子郵件地址。將參數傳遞給新控制器
提交時,創建訂閱並將用戶重定向到路由到訂閱的感謝頁面/謝謝。
我想將新創建的ID傳遞給感謝頁面,如訂閱/:id/thanks,以便我可以訪問新創建的感謝頁面的訂閱。
代碼未測試
在路線文件:
resources :subscriptions do
member do
get :thanks
end
end
然後使其中容納感謝路由控制器的方法。
def thanks
# thanks code will be here
end
在處理數據後,控制器將用戶重定向到
redirect_to thanks_subscription_path(@YourSavedObject), notice: 'Some message'
這一切就是這麼回事。 PS:我不喜歡這種方法。最好能夠比拋出變量更好地解耦。太多的重複。
路由說明
我學會了所有從這裏路由:http://guides.rubyonrails.org/routing.html神奇源。
乾杯和祝你好運的隊友。
謝謝H先生!
這是我所做的似乎已經運行得很好。我真的不明白路由,所以任何意見讚賞:
在路線:
resources :subscriptions
得到 '訂閱/:ID /感謝'=> '訂閱#感謝',因爲: '感謝'
訂閱控制器:
def thanks
@invite = Invite.new
@subscription = Subscription.find(params[:id])
end
創建行動
if @subscription.save
format.html { redirect_to thanks_path(@subscription), notice: 'Subscription was successfully created.' }
format.json { render :show, status: :created, location: @subscription }
else
您的'感謝'方法在Subscription控制器中,這就是爲什麼我使用'member'作爲路由塊的原因。 –
顯示您的routes.rb。 – potashin