我想重命名我的Rails应用程序的电子邮件输入的路由。目前,当有人输入他们的电子邮件时,它将它们路由到/:controller /:id 我想这样做,使得一旦他们输入了他们的电子邮件,它就不会显示他们的ID,因此他们不能更改ID号并查看其他人的电子邮件。Rails重命名路由
-1
A
回答
0
编辑:
我是想我的自我,这不到风度如果电子邮件的作品,但如果你有一个用户名,没有特殊carracters尝试它会正常工作!
尝试这样:
路线:
match "/controller/:username" => "controller#show"
控制器:
def show
@user = find_by_username(params[:username])
end
+0
我试过了,但是当他们输入他们的电子邮件时,他们被路由到/ emailinputs /:id –
0
我想,用一些字母一个固定链接从另一个给安全电子邮件。假设你有人的模型。
你只需要一个属性添加到people
,属性名是permalink
尝试运行
rails g migration add_permalink_to_peoples permalink:string
rake db:migrate
在people.rb
,玩before_save
class People < ActiveRecord::Base
attr_accessible :email, :permalink
before_save :make_it_permalink
def make_it_permalink
# this can create permalink with random 8 digit alphanumeric
self.permalink = SecureRandom.base64(8)
end
end
而且你routes.rb
match "/people/:permalink" => 'peoples#show', :as => "show_people"
上peoples_controller.rb
def show
@people = People.find_by_permalink(params[:permalink])
end
运行rails server
,并添加一个人。
人与随机8位字母数字的唯一永久链接(例如/people/:permalink
)
例如:http://localhost:3000/people/9sd98asj
相关问题
- 1. Rails 3.2.1 - 重命名路由
- 2. Rails 3重写命名路由
- 3. 在rails中重命名路由3
- 4. Rails 5重命名CRUD路由
- 5. Rails命名空间路由
- 6. AngularJS路由重命名
- 7. 在rails路由中的命名空间
- 8. Rails路由错误与命名空间?
- 9. Rails命名空间和路由
- 10. Ruby on Rails命名空间路由
- 11. Rails的:使用嵌套命名路由
- 12. rails使用link_to命名空间路由
- 13. Rails命名空间路由 - Windows vs Linux
- 14. Rails的教程 - 命名路由
- 15. rails中的命名空间路由1
- 16. Rails中的动态命名路由
- 17. 奇异命名路由on Rails的
- 18. Rails 3命名路由 - 无路由匹配
- 19. Rails的复杂的路由,更容易命名路由助手
- 20. 在rails中重命名路由(地图,link_to,to_param)
- 21. Rails路由重定向子域名
- 22. Angular2命名路由
- 23. 无法获取路由重命名URL
- 24. 用路由重命名zend模块
- 25. Rails 3条中重命名路线
- 26. Rails - 重命名宁静路线
- 27. Rails的路由错误使用命名空间 - 的命名空间路径
- 28. 没有路线匹配,对于rails 3中的命名路由
- 29. Rails路由名称约定
- 30. Rails 3路由 - URL名称?
“当有人输入自己的电子邮件” - >输入在哪里?你为什么不简单地添加'before_filter'来限制它。 – kiddorails