Ruby on rails Rails-如何将id设置为令牌(测试前邀请应用程序,如usehipster)
我正在尝试编写一个“病毒性”的测试前邀请应用程序,你可以在fork.ly上看到 基本上,未来的测试人员: 1)输入他的电子邮件 2.)被重定向到视图(即将到来的页面) 3.)接收类似以下链接:http://localhost:3000/?referred_to=测试仪的邀请id将显示在视图中 4.)并接收具有相同链接的电子邮件 如果我理解得很好,“测试员的邀请id”充当令牌,以便跟踪邀请来自哪个测试员 我的问题是: 1.)如何在链接中生成id?我无法在创建之前使用,因为测试人员注册时邀请id尚未设置 我试过这个: 在邀请控制器中 在views/investments/coming_soon.html.erb中Ruby on rails Rails-如何将id设置为令牌(测试前邀请应用程序,如usehipster),ruby-on-rails,invitation,Ruby On Rails,Invitation,我正在尝试编写一个“病毒性”的测试前邀请应用程序,你可以在fork.ly上看到 基本上,未来的测试人员: 1)输入他的电子邮件 2.)被重定向到视图(即将到来的页面) 3.)接收类似以下链接:http://localhost:3000/?referred_to=测试仪的邀请id将显示在视图中 4.)并接收具有相同链接的电子邮件 如果我理解得很好,“测试员的邀请id”充当令牌,以便跟踪邀请来自哪个测试员 我的问题是: 1.)如何在链接中生成id?我无法在创建之前使用,因为测试人员注册时邀请id尚未
。。。
复制并粘贴以下链接以在任何地方共享
你认为他们喜欢这样吗
2.)为什么链接中有问号?(或者类似于?reffered\u by=为什么不直接使用root\u url//@invitation.id.to\u s)这是与路由相关的内容?这是一种获取方法吗
谢谢你的帮助 我将回答问题2: ??在url中是传递参数的一种方式。使用GET方法的表单使用这种附加到url的方式来传递参数。URL?reffered_by=somevalue通过值somevalue传递所引用的参数。现在,如果在我们的控制器中,我们想要这个值,我们可以调用
params[:referenced\u by]
,我们将得到“somevalue”的值。如果要传递多个参数,可以使用&。比如说,
"#{root_url}?referred_by=#{@invitation.id}&referred_time_stamp=#{Time.now.strftime(%Y%m%d%H%M%S)}"
现在,我们可以在控制器中以params[:refered_by]和params[:refered_time_stamp]的形式访问这些参数
如果routes.rb中未定义路由或资源,则无法使用
“#{root_url}/#{@invitation.id}”
。例如,当您定义
map.connect ':controller/:action/:id'
在routes.rb中,它知道最后一个斜杠后面的部分是参数id的值,我们将在控制器中得到它作为
params[:id]
。我将回答问题2:
??在url中是传递参数的一种方式。使用GET方法的表单使用这种附加到url的方式来传递参数。URL?reffered_by=somevalue通过值somevalue传递所引用的参数。现在,如果在我们的控制器中,我们想要这个值,我们可以调用params[:referenced\u by]
,我们将得到“somevalue”的值。如果要传递多个参数,可以使用&。比如说,
"#{root_url}?referred_by=#{@invitation.id}&referred_time_stamp=#{Time.now.strftime(%Y%m%d%H%M%S)}"
现在,我们可以在控制器中以params[:refered_by]和params[:refered_time_stamp]的形式访问这些参数
如果routes.rb中未定义路由或资源,则无法使用
“#{root_url}/#{@invitation.id}”
。例如,当您定义
map.connect ':controller/:action/:id'
在routes.rb中,它知道最后一个斜杠后面的部分是参数id的值,我们将在控制器中得到它作为params[:id]