我还是Rails的新手,我对路线有疑问。
现在,我可以正常使用帖子表中的资源。
post_path GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
无论如何,当我点击节目页面时,而不是地址栏说:
http://localhost:3000/posts/3
我可以说:
http://localhost:3000/posts/restaurantName ?
:restname是具有餐馆名称的用户中的列。
我正在为餐馆工作人员构建一个网络应用程序,我希望地址以餐馆名称结尾,特别是Post.user.restname。
感谢您的帮助
答案 0 :(得分:1)
请检查:https://github.com/norman/friendly_id
让我知道它是否有用。
此外,本文还帮助您将FriendlyId与rails 4应用程序集成:http://richonrails.com/articles/friendlyid-and-rails-4
答案 1 :(得分:1)
是的,Rails具有使网址非常友好的灵活性。为此我们有一个名为friendly_id
的宝石,它对这些要求非常有帮助,ryanbates
给出了如何使用这个宝石并集成到我们的rails应用程序中的最佳轨迹
请检查此网址 http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
您还可以查看以下链接:https://github.com/norman/friendly_id
一定会对你有所帮助。
答案 2 :(得分:0)
我的声誉不够高,所以我不喜欢你的评论,但如果可以的话,我愿意。
由于我的表格设置方式,我需要的信息是在用户之下,我希望用我的帖子更改用户信息下的地址。最后,我能得到的最接近的是使用参数化。
在我的帖子控制器中:
45 @post = Post.new(post_params)
46 if @post.save
47 @post.update :postname => @post.user.restname
48 redirect_to @post
49 else
在我的帖子模型中:
13 def to_param
14 "#{id} #{postname}".parameterize
15 end