【发布时间】:2014-04-22 21:38:52
【问题描述】:
我在 Rails 上有一个 Web 应用程序,用户可以通过它提交存储在 sqlite DB 中的数据。当提交页面显示时,它会显示 DB 的 ID 编号,这将是该提交的 用户 ID 以供以后参考。有意义,因为它是一个唯一的数字。
但是,我可以让这个号码以10000 开头,而不仅仅是1。
==========================================
def create
@post = Post.new(post_params)
@post.save
redirect_to @post #this is the line that it errors on
end
顺便说一句,我得到的错误是......
undefined method `empty?' for 100029:Fixnum
【问题讨论】:
-
下一个要分配的数字存储在数据库的控制表中,因此您可以更改它。使用任何 sqlite 客户端来检查数据库。您的目的是隐藏 URI 中的 id 或记录数吗?你可能想看看这个宝石...github.com/namick/obfuscate_id
-
我去看看。更重要的是要有一个更实用的参考编号,看起来更实用。
-
那个宝石看起来更像是随机的......这可能是一个选择。理想情况下,我希望 DB 提交说类似 10000,10001,10002.. 等...它是业务内部的,因此显示访问无关紧要。
-
啊,哇!看起来它不喜欢将整数作为 to_param ......我从未意识到这是一个问题。我将发布一个替代解决方案。
标签: sql ruby-on-rails ruby sqlite