0

给定

作为用户,我在一个嵌套的新供应商/5/reviews/new。除了将写入 Review 模型的 :params 之外,我还需要能够包含属于 Vendor 模型的标签。

我使用了acts_as_taggable_on(http://github.com/mbleigh/acts-as-taggable-on):

class Vendor....
     acts_as_taggable_on :tags, :competitors

我使用 formtastic 提交标签和 field_for 以确保我写信给供应商,即使表单在 CREATE 审查中:

 semantic_form_for ....

 <% fields_for :vendor do |vendor| %>
      <p>
        &lt;%= vendor.label :tags %&gt;<br />
        &lt;%= vendor.text_field :tag_list %&gt;
      </p>
 &lt;% end %&gt;

我尝试使用以下内容显示供应商的标签:

Tags:  <%=h @vendor.tag_list %>

我的结果:什么都没有。

1)我是否正确编写标签?看起来它是在控制台中创建正确的 SQL

2) 我是否采用了正确的方法来使用acts_as_taggable_on 显示标签列表?

4

1 回答 1

1

首先,当表单中的所有助手都是标准的 rails 助手(fields_for、label、text_field)时,我有点困惑为什么要使用 Formtastic(semantic_form_for),所以这与 Formtastic 并没有太大关系。

其次,如果表单用于供应商记录 (form_for(@vendor)),则 fields_for(:vendor) 没有任何意义。在 form_for 中使用 fields_for 会创建一个具有嵌套属性的嵌套表单(有助于同时创建父记录关联记录)。

我需要查看表单代码的完整示例才能真正掌握您要执行的操作,但我认为您已经将一些非常简单的事情复杂化了。不管怎样,我的建议是在使用semantic_form_for 之前正确理解form_for。

于 2010-01-04T23:34:01.103 回答