3
私は私のRails 3コントローラー、このコードを持っている:URLを変更せずに別のアクションをレンダリングしますか?
def index
now = Time.now.utc.strftime("%m%d")
redirect_to :action => "show", :id => now
end
def show
begin
@date = Time.parse("12#{params[:id]}")
dbdate = params[:id]
rescue ArgumentError
@date = Time.now.utc
dbdate = @date.strftime("%m%d")
end
@date = @date.strftime("%B %d")
@events = Event.events_for_date(dbdate)
end
だから基本的にインデックスがshow.html.erbビューをレンダリングし、それゆえ私はそれがショーを実行したい、ショーだけの特殊なバージョンである - しかし、私はをでない場合 redirect_toのようにURLを変更したい場合今
def index
now = Time.now.utc.strftime("%m%d")
params[:id] = now
show
render :action => "show"
end
、これは動作しますが、それだけでひどく臭い:
私はこのアプローチを試してみました。
私はRubyとRailsの新機能ですから、根本的に何か問題があるのか、それとももっと良い方法があるのだろうかと思います。