私はすでに同様の質問のための多くの解決策があることを知っていますが、それらのどれも私のために働くようです。IDなしモデルを見つけることができません
cancel_quoteコントローラからadmin_reportsを呼び出しようとしています。このメソッドは、特定の行のステータスを数値「8」に更新します。
cancel_quote方法routes.rbを
<%= button_to "Cancel", {:controller => :admin_reports, :action => 'cancel_quote'}, :method => :get %>
trip_report.html.erb
def trip_report
#####
####
end
def cancel_quote
@ride_later_request = RideLaterRequest.find(params[:id])
if @ride_later_request
@ride_later_request.update(status: 8)
end
redirect_to trip_report_path
end
admin_reports_controllerで
resources :admin_reports do
collection do
get :cancel_quote
end
end
私は他のいくつかの解決方法に従い、ビューファイル自体に@ride_later_request
オブジェクトを作成し、それを反復してそのオブジェクトからIDを取得しようとしました。それはあまりにもエラーを与えた。誰かが私にこれをどうやって教えてくれますか?それはそれが良いメンバーでルートを持っている一つのオブジェクトにそれが特定のよう
member do
get :cancel_quote
end
状の部材である必要があり
これは動作しているようです。しかし、目的を確認するために私は明示的に 'cancel_quote_admin_report_path(1)'のようなID番号を与えました。それはid 1のオブジェクトのステータスを 'status:8'に更新しました。しかし、どうやってIDを動的に渡す必要がありますか? – user3576036
あなたのフォームでは、更新するparams [:id]または 'RideLaterRequest'のIDを取得する必要があります。デバッガを適用して確認してください。 –
params [:id]の後に ':id = Nil'に必要なキーがありません – user3576036