如何通过使用列的值作为 rails 中的参数来创建 URL
How to create URL by using value of a column as param in rails
我有一个收藏夹table,每个visitor_id都是一个随机字符串
Favorites
-------------------------
| visitor_id | place_id |
-------------------------
| aab1 | 1 |
-------------------------
| aab2 | 2 |
-------------------------
| aab3 | 3 |
-------------------------
| .... | ... |
-------------------------
现在,我想为每个 visitor_id 创建一个 url 到 link。我要创建的 url 看起来像这样:
favorites/visitor/:visitor_id
例如:
favorites/visitor/aab1
favorites/visitor/aab2
favorites/visitor/aab3
我应该在 route.rb 和 favorites_controller.rb 或 favorite.rb 模型中编写什么正确的语法来实现这种情况?以及如何让视图根据 URL?
显示 visitor_id
例如:
favorites/visitor/aab1 ==> Display aab1 in view
favorites/visitor/aab2 ==> Display aab2 in view
favorites/visitor/aab3 ==> Display aab3 in view
PS: 我没有访客控制器、模型或 table。提前致谢!
下面的代码应该可以工作
#routes.rb
get "/favorites/visitor/:visitor_id", to: 'favorites#visitor', as: 'favorites_visitor'
上面的路线带你去 url 像 favorites/visitor/1
favorites/visitor/aab1
, 但正如你想要的那样favorites/visitor/aab1
你应该使用 friendly_id gem 来生成那些 urls.
此外,上述路由需要一个名为 visitor
的方法,定义在 favorites_controller.rb
中
注:
我完全忘记了 visitor_id
的值是一个 随机字符串 ,所以你不需要 friendly_id
gem。我划线以反映它。
更新:
How can I create a link to link to a specific visitor_id
您可以使用下面的 link,
<%= link_to "Visitor", favorites_visitor_path(@visitor) %>
假设您在 favorites_controller.rb
的特定方法中定义了 @visitor
我有一个收藏夹table,每个visitor_id都是一个随机字符串
Favorites
-------------------------
| visitor_id | place_id |
-------------------------
| aab1 | 1 |
-------------------------
| aab2 | 2 |
-------------------------
| aab3 | 3 |
-------------------------
| .... | ... |
-------------------------
现在,我想为每个 visitor_id 创建一个 url 到 link。我要创建的 url 看起来像这样:
favorites/visitor/:visitor_id
例如:
favorites/visitor/aab1
favorites/visitor/aab2
favorites/visitor/aab3
我应该在 route.rb 和 favorites_controller.rb 或 favorite.rb 模型中编写什么正确的语法来实现这种情况?以及如何让视图根据 URL?
显示 visitor_id例如:
favorites/visitor/aab1 ==> Display aab1 in view
favorites/visitor/aab2 ==> Display aab2 in view
favorites/visitor/aab3 ==> Display aab3 in view
PS: 我没有访客控制器、模型或 table。提前致谢!
下面的代码应该可以工作
#routes.rb
get "/favorites/visitor/:visitor_id", to: 'favorites#visitor', as: 'favorites_visitor'
上面的路线带你去 url 像 favorites/visitor/1
favorites/visitor/aab1
, 但正如你想要的那样.favorites/visitor/aab1
你应该使用 friendly_id gem 来生成那些 urls
此外,上述路由需要一个名为 visitor
的方法,定义在 favorites_controller.rb
注:
我完全忘记了 visitor_id
的值是一个 随机字符串 ,所以你不需要 friendly_id
gem。我划线以反映它。
更新:
How can I create a link to link to a specific visitor_id
您可以使用下面的 link,
<%= link_to "Visitor", favorites_visitor_path(@visitor) %>
假设您在 favorites_controller.rb
@visitor