ruby-on-rails – 将数组传入form_for()和link_to()
发布时间:2020-12-17 03:02:53 所属栏目:百科 来源:网络整理
导读:我正在阅读Rails 3 In Action.这本书构建了一类项目,其中包括:all_many:门票和一类属于:project的项目. routes.rb文件如下所示: resources :projects do resources :tickets end 现在,创建票证的表单采用如下数组: %= form_for [@project,@ticket] do |
我正在阅读Rails 3 In Action.这本书构建了一类项目,其中包括:all_many:门票和一类属于:project的项目. routes.rb文件如下所示:
resources :projects do resources :tickets end 现在,创建票证的表单采用如下数组: <%= form_for [@project,@ticket] do |f| %> 在票证show.html.erb页面上有链接,如下所示: <%= link_to "Edit Ticket",[:edit,@project,@ticket] %> <%= link_to "Delete Ticket",[@project,@ticket],:method => :delete,:confirm => "Are you sure you want to delete this ticket?" %> 现在我很困惑为什么需要将两个对象的数组传递给form_for()和link_to().此外,为什么“编辑故障单”需要和:编辑符号,而“删除故障单”不需要:销毁符号. 谢谢, 解决方法
从包含两个资源的ID的URL嵌套资源路由,在这种情况下类似于:/ projects / 1 / tickets / 10.要生成此URL,我们需要知道项目和票证的ID,因此需要传入这两个对象.
编辑URL更进一步,并添加了一个动作关键字 – / projects / 1 / tickets / 10 / edit,因此我们需要再次传递此操作. 但是,Rails中的RESTful销毁路由使用HTTP方法DELETE而不是action关键字,因此销毁票证的URL实际上是/ projects / 1 / tickets / 10;只是使用DELETE请求而不是GET. 有关更多信息,我建议您阅读Rails Routing from the Outside In (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |