这是我第一次尝试将标签字段添加到表单中,请耐心等待。
我正在使用:
我安装了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
由于
一旦我的工作正常,我可以继续将Select2应用到我的tags field,但我需要先从纯文本字段开始工作。