我有一个Entry
模型has_many :tags
。我希望能够在文本输入中列出我的标签(即“tag-1,tag-2”等),但是,我遇到了问题。
如果我只是使用
form_for(:entry, form_options) do |f|
f.text_field :tags
end
我的文本框被创建,但充满了类似的东西#<Tag:0xb79fb584>#<Tag:0xb79faddc>
,这显然不是我想要的。
我知道我可以to_s
向 Tag 添加一个方法:
class Tag < ActiveRecord::Base
def to_s
name # the name of the tag
end
end
但这只是给我留下了类似的东西,tag-1tag-2
因为@entry.tags.to_s
仍然只是指Array#to_s
.
现在,我正在使用
f.text_field :tags, :value => @entry.tags.map(&:name).join(", ")
相反,它将显示正确的字符串,但感觉不像是做事的“导轨方式”。有没有办法可以to_s
专门为我的tags
关联添加自定义方法?