wwl*_*wli 4 ruby ruby-on-rails
这是我的路线设置
resources :messages do
collection do
get 'message'
end
end
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想在这条路线上添加一个参数
resources :messages do
collection do
get 'message/:username'
end
end
Run Code Online (Sandbox Code Playgroud)
我跑的时候出错了 rake routes
rake aborted!
missing :action
/home/li/data/git/projectname/config/routes.rb:5:in `block (4 levels) in <top (required)>'
/home/li/data/git/projectname/config/routes.rb:4:in `block (3 levels) in <top (required)>'
/home/li/data/git/projectname/config/routes.rb:3:in `block (2 levels) in <top (required)>'
/home/li/data/git/projectname/config/routes.rb:2:in `block in <top (required)>'
/home/li/data/git/projectname/config/routes.rb:1:in `<top (required)>'
/home/li/data/git/projectname/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => routes => environment
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
向此路线添加参数的正确方法是什么?
它应该是
resources :messages do
collection do
get 'message/:username' => :message
end
end
Run Code Online (Sandbox Code Playgroud)
如果要使用messages_message_url和messages_message_path,请使用带有以下as:选项的命名路由:
resources :messages do
collection do
get 'message/:username' => :message, as: 'messages_message'
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |