Cat*_*ish 1 ruby ruby-on-rails ruby-on-rails-3
我仍然试图获得铁轨的悬念,我正在尝试创建一个简单的应用程序,其中我可以输入数据,然后提交它,它将存储在数据库中.我通过启动一个新项目然后运行来实现这一点非常简单:
$ rails generate scaffold RSVP firstName:string lastName:string
Run Code Online (Sandbox Code Playgroud)
现在我想通过表单添加新记录后重定向到感谢页面.
我手动将以下方法添加到我的rsvps_controller.rb文件中:
# GET /rsvps/thank_you
def thank_you
respond_to do |format|
format.html # thank_you.html.erb
format.json { render json: @rsvps }
end
end
Run Code Online (Sandbox Code Playgroud)
这一行在我的路线文件中:
resources :rsvps
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我运行rake路线时,我没有看到我的thank_you方法的路线.不应该我的:rsvps资源拿起我的thank_you路由以及路由如何知道哪个控制器方法是哪个http调用(get,post,put等)?
小智 6
为了获得将在您的控制器中执行该操作的路由,您应该在routes.rb文件中具有以下内容:
resources :rsvps do
member { get :thank_you }
end
Run Code Online (Sandbox Code Playgroud)
要么
resources :rsvps do
collection { get :thank_you }
end
Run Code Online (Sandbox Code Playgroud)
这取决于您是否要访问刚刚创建的资源.
你可以看看@ http://guides.rubyonrails.org/routing.html它可以帮助你更好地低估路由机制.
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |