Rails string字符串相关转换

总结字串转变到其它与它相关的object的方法. 在这里整理分享一下, 希望能帮助到你.

变量相关
读取

instance_variable_get("@name")     #返回@name值

设置

instance_variable_set("@name", "三国演义") #@name =  "三国演义"

method相关
string到method名
send

book.send("name") #返回 book.name值

注意: book.send("name") = "三国演义" 会出错.
但可以:

book.send("name=", "三国演义") #book.name = "三国演义"

单复数转化
string复数化
pluralize
可用于生成table_name

"country".pluralize #=> "countries"

string单数化
singularize
和上面的相反

"posts".singularize #=> "post"

table和class相关

将表格名转成class名
classify

"blog_pictures".classify #=> "BlogPicture"

转成table_name(和上面的相反)
tableize

"BlogPicture".tableize #=> "blog_pictures"

将class名转成class
constantize

"Country".constantize #=> Country

可以将classify和constantize联用将string转成class model

"books".classify.constantize.find_by_name("三国演义")
#=> Book.find_by_name("三国演义")

转载请注明: 转自船长日志, 本文链接地址: http://www.cslog.cn/Content/rails_string_to_anything/

此条目发表在 Ruby on Rails 分类目录。将固定链接加入收藏夹。

发表评论