Rails 路由问题

发布于 2024-12-08 15:08:40 字数 553 浏览 0 评论 0原文

这是 Rails 中的一个非常基本的问题,我在教程中找不到明确的解释。 如果您创建一个控制器,则向其添加一个视图并路由。你如何允许另一个模型通过传入它的 id 来访问。我知道这不太清楚,下面是我的意思。

我有一个名为 user 的模型

我有一个名为 search 的控制器,其中包含视图和函数 find (在这个函数中我执行 @user = User.find(params[:id]) 并在视图 find 中使用 @user )我也得到了“search/find”在路线中

如果我做 rake 路线,我现在就有了路线 search_find。

在用户显示中,如果我执行 link_to '在区域中搜索'、search_find_path(@user),它告诉我无法找到没有 id 的用户

如果我确实匹配 '/users/:id/search/find', :to => 'search#find',然后 link_to '搜索区域',@user.id.to_s() + '/search/find' 在节目中我可以让它工作,但我需要一条更干净的路线,因为该路线不在任何页面中工作似乎都可靠

This is a really basic issue in rails that I couldn't find a clear explanation in tutorials.
If you make a controller, then add a view to it and route. how would you allow another model to access by passing in it's id. I know that's not really clear, below is what I mean.

I have a model named user

I have a controller named search with the view and function find (in this function I do @user = User.find(params[:id]) and I use @user in the view find) I also have get "search/find" in routes

if I do rake routes i now have the route search_find.

in the users show if I do link_to 'Search in area', search_find_path(@user), it tells me couldn't find user without and id

if i do match '/users/:id/search/find', :to => 'search#find', then link_to 'Search in area', @user.id.to_s() + '/search/find' in the show I can make it work, but I need a cleaner route because that route doesn't seem reliable to work in any page

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尹雨沫 2024-12-15 15:08:40

尝试更改

 get "search/find"

 get "search/find/:id"

Try to change

 get "search/find"

to

 get "search/find/:id"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文