为rails创建数组url_options

时间:2014-08-18 04:31:08

标签: ruby-on-rails ruby

我的rails应用程序默认url for post是_http://0.0.0.0:3000 / posts / 7,我怎样才能显示这样的网址_http://0.0.0.0:3000 / posts / cer4235235ft5435rerjk343f带有数字和文字。

1 个答案:

答案 0 :(得分:1)

在数据库中创建另一列,使用某个字母数字字符串更新它,然后使用该列进行查询。

例如:

在帖子表

中添加列permalink
class Post < ActiveRecord::Base
  before_create :create_permalink

  def create_permalink
    self.permalink = SecureRandom.hex
  end
  ..

更改链接以使用此字符串

<%= link_to post.title, post_path(:id => post.permalink) %>

修改您的控制器

def show
  @post = Post.where(:permalink => params[:id]).first
end