controller.rb
@user = User.where(:id => params[:id]).take
html.erb
<a href="/home/layout02_03/<%=@interest.id%>">
something
</a>
点击标签,然后网址为&#34; / home / layout02_03 / 3&#34;
3是用户的ID,
但我不想公开那个&#34; id&#34;
我怎么能这样做,我在轨道上使用ruby
答案 0 :(得分:2)
您需要在用户模型上拥有任何其他唯一属性,例如一些随机的GUID值,一旦你拥有它,只需使用它而不是ID:
<a href="/home/layout02_03/<%= @interest.obscure_uniq_identifier %>">
或者将其定义为User的默认URL表示:
class User
def to_param
obscure_uniq_identifier
end
您可以使用以下方式生成一个:
before_create :generate_guid
def generate_guid
self.obscure_uniq_identifier = SecureRandom.hex
end
答案 1 :(得分:0)
对于遇到相同问题的任何人,我也建议您使用Visibilize之类的gem,它提供了更多有关创建可公开友好ID的选项。
只需安装gem并在模型中调用visibilize
。