这是我第一次尝试在表单中添加标签字段,所以请多多包涵。
我在用着:
- 导轨 3.2.8
- Postgres 9.1
- 火箭标签 0.5.6
- squeel 1.0.9
我已经安装了rocket_tag
gem 并运行了各种命令
rails generate rocket_tag:migration
rake db:migrate
rake db:test:prepare
设置一切。
我修改了我的会议模型:
*添加:tags
和:tag_list
到attr_accessible
*添加attr_taggable :tags
*我添加了一个虚拟属性,用于在表单字段中显示标签列表:
def tag_list
self.tags.join(",")
end
def tag_list=(new_tags)
self.tags = new_tags.split(/,[\s]*/).reject(&:empty?)
end
*我已添加f.text_field :tag_list
到我的表单视图
这让我的列表页面无法正常工作。它说Association named 'taggings' was not found; perhaps you misspelled it?
User
has_many :meetings
has_many :meeting_dates, :through => :meetings
Meeting
belongs_to :user
has_many :meeting_dates
Meeting Dates
belongs_to :meeting
在我的列表页面中,我使用以下方法列出会议日期:
user_meeting_dates = @user.meeting_dates.includes(:meeting => :user)
为了克服标记错误,我似乎需要在我的会议日期模型中包含以下内容:
has_many :taggings, :through => :meeting
has_many :tags, :through => :taggings
有人可以解释为什么我在这里需要这些以及是否有办法再整理一下,这似乎不对。
如果不能做类似的事情:
user_meeting_dates = @user.meetings.meeting_dates
谢谢