Ruby on rails 自定义轨道路线
我有一个名为约会的模式,我想改变“新”页面的工作方式。当用户单击日历上的某个时间段时,我希望用户被带到一个URL如下的页面:Ruby on rails 自定义轨道路线,ruby-on-rails,routing,Ruby On Rails,Routing,我有一个名为约会的模式,我想改变“新”页面的工作方式。当用户单击日历上的某个时间段时,我希望用户被带到一个URL如下的页面: appointment/new/hour/10 这将使用户转到“新建”页面,预约时间将在上午10:00预先填充 我熟悉symfony路由,但我发现Rails路由有点混乱。具体地说,我不知道如何将我的link_写入到函数调用,这样它会给我一个类似于上面的URL 我已经研究了一些FM,但我没有找到一个地方可以重复我想做的事情。如果有人能解释如何做我想做的事情,或者简单地向我
appointment/new/hour/10
这将使用户转到“新建”页面,预约时间将在上午10:00预先填充
我熟悉symfony路由,但我发现Rails路由有点混乱。具体地说,我不知道如何将我的link_写入到
函数调用,这样它会给我一个类似于上面的URL
我已经研究了一些FM,但我没有找到一个地方可以重复我想做的事情。如果有人能解释如何做我想做的事情,或者简单地向我指出相关的文档,那就太棒了。在your routes.rb中,您可以创建一个路由,例如:
# Rails 3
match 'appointment/new/hour/:hour' => "appointments#new", :as => :new_appointment_with_time
# Rails 2
map.new_appointment_with_time 'appointment/new/hour/:hour', :controller => "appointments", :action => "new"
然后,您可以在链接中使用它:
link_to "10am", new_appointment_with_time_path(:hour => 10)
在控制器中,您可以检索该值,并使用参数[:hour]
:
@appointment = Appointment.new(:hour => params[:hour])
在routes.rb中,您可以创建一个路由,例如:
# Rails 3
match 'appointment/new/hour/:hour' => "appointments#new", :as => :new_appointment_with_time
# Rails 2
map.new_appointment_with_time 'appointment/new/hour/:hour', :controller => "appointments", :action => "new"
然后,您可以在链接中使用它:
link_to "10am", new_appointment_with_time_path(:hour => 10)
在控制器中,您可以检索该值,并使用参数[:hour]
:
@appointment = Appointment.new(:hour => params[:hour])
谢谢你的详尽回答!这非常有效。有趣的是,我的表格下拉列表中的时间从我的表格中减去了一定的小时数,但我想这是一个单独的问题。谢谢你的详细回答!这非常有效。有趣的是,我的表单下拉列表中的时间从我的列表中减去了一定的小时数,但我认为这是一个单独的问题。