Jas*_*ett 1 routing ruby-on-rails
我有一个名为的模型appointment,我想改变"新"页面的工作方式.当用户点击日历上的某个小时位置时,我希望用户转到带有以下URL的页面:
appointment/new/hour/10
Run Code Online (Sandbox Code Playgroud)
这将使用户进入"新"页面,并且预约的时间将在上午10:00预先填充.
我熟悉symfony路由,但我发现Rails路由有点令人困惑.具体来说,我不知道如何编写我的link_to函数调用,它会给我一个像上面这样的URL.
我已经给了一些调频器,但我没有找到一个超出我想做的事情的地方.如果有人可以解释如何做我正在尝试做的事情,或者只是简单地指出相关的文档,那将是非常棒的.
在您的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"
Run Code Online (Sandbox Code Playgroud)
然后,您可以在链接中使用它:
link_to "10am", new_appointment_with_time_path(:hour => 10)
Run Code Online (Sandbox Code Playgroud)
在控制器中,您可以检索该值并使新的约会实例使用它params[:hour]:
@appointment = Appointment.new(:hour => params[:hour])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |