我为标题道歉,这几乎没有意义。
所以在我使用的messages.rb模型上:
def to_param
"#{id}-#{message.gsub(/\W/, '-').downcase}"
end
这样就可以使网址显示如下:
http://myapp.com/messages/1-this-is-a-message
问题是,当消息真的很长时,并且在实时,它会导致应用程序崩溃。
如何更改此to_params函数以将在网址中显示的字符数限制为前25个左右。
谢谢!
答案 0 :(得分:2)
使用String对象的slice
方法或[]
表示法:( []
只是slice
的别名)
def to_param
"#{id}-#{message[0..25].gsub(/\W/, '-').downcase}"
end
答案 1 :(得分:0)
def to_param
"#{id}-#{truncate(message, :length => 40).gsub(/\W/, '-').downcase}"
end
您可以使用Rails的truncate helper:
truncate(message, :length => 40)
消息当然是您的消息,您可以指定长度