如何在 rails 上调用这条路线 un Ruby
How to call this route un Ruby on rails
我制作了一个脚手架并制作了class“项目”。
这使 routes.rb 资源。
我做另一条路线
Get 'projects/status/:id', to 'projects#status'
如何在 HTML 代码中调用此 link?
我试过了
<%= link_to "show status", '/status'project.id %>
但是没用。
请帮助
到 link 到您定义的路径使用带插值的纯字符串 :id
参数
# GET /projects/status/:id
# config/routes.rb
get 'projects/status/:id', to: 'projects#status'
# view
<%= link_to 'status', "/projects/status/#{@project.id}" %>
您可以使用 :as
选项添加路径辅助方法。最好附加 status
路径以使其与 rails 约定一致并且不与 :id
参数冲突。这类似于其他 project
路线,例如 edit
和 new
。现在你的项目有了 status
路线。
# project_status GET /projects/:id/status
# config/routes.rb
# NOTE: `as: :project_status` will create `project_status_path` and `project_status_url` helpers
get 'projects/:id/status', to: 'projects#status', as: :project_status
# view
# NOTE: path helper will automatically extract `:id` param from @project
<%= link_to 'status', project_status_path(@project) %>
路由可以嵌套在项目资源下。对于所有选项,请参见:
https://api.rubyonrails.org/v7.0.2.3/classes/ActionDispatch/Routing/Mapper/Base.html#method-i-match
# status_project GET /projects/:id/status
# config/routes.rb
resources :projects do
get :status, on: :member
end
# view
<%= link_to 'status', status_project_path(@project) %>
# TODO: maybe fix backwards helper name
# get :status, on: :member, as: :state_of
# => state_of_project_path(@project)
查看您的路线
bin/rails routes
# helper name # url # controller#action
project_status GET /projects/:id/status(.:format) projects#status
我制作了一个脚手架并制作了class“项目”。 这使 routes.rb 资源。 我做另一条路线
Get 'projects/status/:id', to 'projects#status'
如何在 HTML 代码中调用此 link? 我试过了
<%= link_to "show status", '/status'project.id %>
但是没用。 请帮助
到 link 到您定义的路径使用带插值的纯字符串 :id
参数
# GET /projects/status/:id
# config/routes.rb
get 'projects/status/:id', to: 'projects#status'
# view
<%= link_to 'status', "/projects/status/#{@project.id}" %>
您可以使用 :as
选项添加路径辅助方法。最好附加 status
路径以使其与 rails 约定一致并且不与 :id
参数冲突。这类似于其他 project
路线,例如 edit
和 new
。现在你的项目有了 status
路线。
# project_status GET /projects/:id/status
# config/routes.rb
# NOTE: `as: :project_status` will create `project_status_path` and `project_status_url` helpers
get 'projects/:id/status', to: 'projects#status', as: :project_status
# view
# NOTE: path helper will automatically extract `:id` param from @project
<%= link_to 'status', project_status_path(@project) %>
路由可以嵌套在项目资源下。对于所有选项,请参见: https://api.rubyonrails.org/v7.0.2.3/classes/ActionDispatch/Routing/Mapper/Base.html#method-i-match
# status_project GET /projects/:id/status
# config/routes.rb
resources :projects do
get :status, on: :member
end
# view
<%= link_to 'status', status_project_path(@project) %>
# TODO: maybe fix backwards helper name
# get :status, on: :member, as: :state_of
# => state_of_project_path(@project)
查看您的路线
bin/rails routes
# helper name # url # controller#action
project_status GET /projects/:id/status(.:format) projects#status