0

大家好,我正在尝试将标记添加到我正在开发的 Rails 照片库系统中。它从后端工作,但如果我尝试在表单视图中设置或更改它,它就不起作用。

我将acts_as_taggable 添加到照片模型并进行了迁移。我的画廊构建器被编程为自动为它创建的每张照片添加一个标签。这工作正常,就像它为控制台设置它一样。但是,我似乎无法在照片表单中使用 text_field 设置标签。

这是我添加到照片表单中的代码:

  <p>
    <%= f.label :tag_list %><br />
    <%= f.text_field :tag_list %>
  </p>

现在,这很简单,因为 :tag_list 支持单字符串逗号分隔的赋值(例如 tag_list = "this, that, the other" #=> ['this', 'that', 'the other']),我不明白为什么使用文本字段不起作用。并且更有意义的是,如果已经填充了标签列表,则在编辑照片时该列表仍将显示在文本字段中。我似乎无法对列表进行任何更改。他们的 github 页面上的文档似乎没有提供有关如何从视图中设置这些值的任何信息。有任何想法吗?

哦,我正在使用 Rails 3 gem 版本。

4

1 回答 1

2

我想到了。事实证明,acts_as_taggable 不会自动为您提供 tag_list 的访问器。我在视图中的代码是正确的,但我需要添加

attr_accessor :tag_list

做照片模型。就那么简单。

于 2010-12-24T20:49:39.070 回答