为火箭标签标签列表设置rails 3 text_field

时间:2012-09-01 10:17:40

标签: ruby-on-rails-3 tags acts-as-taggable-on

这是我第一次尝试将标签字段添加到表单中,请耐心等待。

我正在使用:

  • rails 3.2.8
  • Postgres 9.1
  • rocket_tag 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

由于

一旦我的工作正常,我可以继续将Select2应用到我的tags field,但我需要先从纯文本字段开始工作。

0 个答案:

没有答案