私はクライアント用のスケジューリングプラットフォームを構築しています。 1つの要件は、ルートが今日のスケジュールのショーページであることです。他の日程のスケジュールにはそれぞれ自分のショーページが必要です。レールを毎日ルート変更する方法は?
私は今日のスケジュールを見つけるためのクエリを書く方法を知っていますが、ルートファイルとの接続方法を理解するのは苦労しています。
これまで私がこれまで持っていたことは、今、私は今、ショーページを今日のスケジュールでレンダリングしようとしています。私はこのためのカスタムビューを構築することができますが、私は自分自身を繰り返さないようにしようとしています、それは本当に正確に通常のショーと同じビューです。スケジュールコントローラで
:
def show
@schedule = Schedule.find(params[:id]) #this is actually done in a :set_schedule before_action callback, but I'm show it it here for clarity.
end
def today
@schedule = Schedule.find_by_date("#{Time.now.year}-#{Time.now.month}-#{Time.now.day}")
if @schedule
render 'schedules/show' #How do I tell it to render the show page for @schedule here??
else
render 'welcome#index'
end
end
私はエラーをスローmyapp.com/schedules/todayをヒットしてみてください(=今日のIDを持つ予定はありません)。私はこの作業を得れば、私はちょうど私のroutes.rbをしてこれを行うことができますことを想像
:
root 'schedules#today'
私が知りたい - これは正しいアプローチですか?もしそうなら、あなたは私のカスタムコントローラーアクションについていくつかの助けを提供できますか?もしそうでなければ、あなたはどうしますか?
'render 'スケジュール/ show"を使用して、スケジュール内の表示ビューをレンダリングします。 –
しかし、クエリが検出するスケジュールをレンダリングする方法を教えてください。私はまだid =のスケジュールを見つけようとしているので、まだエラーが出ています。 – nilatti
これは、表示ビューをレンダリングします。ショー・ビューは、そのスケジュールを使用するtodayアクション内で定義したように '@ schedule'を使用するように見えます。 –