作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个项目,用户可以通过一个简单的表单以及另外通过 FTP 将视频上传到某个目录,然后只需从 FTP 目录中选择文件,而不是通过表单上传。
我得到了以下非常标准的设置 videos_controller
:
# routes.rb
resources :videos
# new.html.rb
form_for(@video) do |f|
...
end
# routes.rb
resources :videos do
member do
post :from_ftp
end
end
# new.html.rb
form_for(@video, :url => from_ftp_video_url) do |f|
...
end
No route matches {:action=>"from_ftp", :controller=>"videos"}
,因为生成的路由是这样的:
from_ftp_video POST /videos/:id/from_ftp(.:format) videos#from_ftp
:id
URL 的一部分,因为我正在创建一个新的 Video 对象,不是通过表单而是简单地使用来自 FTP 目录的文件...所以它基本上是另一个
create
行动,这就是为什么我想把它作为一个POST请求......
最佳答案
尽管所选答案对于 Vapire 的情况是正确的,但它不一定回答标题问题。如果您来到这里是为了寻找如何在没有 ID 的情况下获取成员操作,因为您不需要 ID,那么答案就有点不同了。
假设您实现了设置 current_user
的身份验证.您只允许用户编辑他们自己的个人资料。在那种情况下 users/:id/edit
没有意义,因为 :id 由 current_user 方法决定。在这种情况下 /users/edit
更有意义。
您可以更改 routes.rb 文件以创建路径中没有 id 的成员操作。
......而不是这个......
resources :user
resource :user
关于ruby-on-rails-3 - 导轨 3 : How to get a custom restful member route without ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433510/
我是一名优秀的程序员,十分优秀!