如何从Model中获取model_id?

时间:2014-05-01 23:45:23

标签: ruby-on-rails ruby

如何将Rails模型类名转换为符号:model_id?例如,我试图将类Book转换为book_id。现在我可以用

完成
"#{Book.to_s.parameterize}_id".to_sym

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

当然还有其他方法可以做到。他们不一定更好:

Book.name.foreign_key.to_sym

如果班级在模块中,您还需要考虑要发生的事情,例如: Library::Book

Library::Book.name.parameterize.foreign_key.to_sym
=> library_book_id

答案 1 :(得分:0)

我更喜欢这样的东西:

Book.model_name.parameterize('_').foreign_key.to_sym

参数化默认分隔符为-。链接parameterize foreign_key