【问题标题】:How to keep comma between tags in _form?如何在_form中的标签之间保留逗号?
【发布时间】:2015-06-11 03:27:02
【问题描述】:

由于某种原因,每当我编辑 _form 时,我的逗号都会消失,这意味着如果我现在重新提交 _form,那么该 _form 中的所有标签都会合并为一个又大又丑的标签:/

我的 _form 中有这一行 <%= f.text_field :tag_list %>

我密切关注这个 railscast 教程:railscasts.com

任何人都可以立即弄清楚这可能是什么问题吗?我什至不知道在这里添加什么其他代码会有帮助。

如果您需要进一步的解释或代码来帮助我,请告诉我:-]

【问题讨论】:

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


    【解决方案1】:

    试试这个.......

    <%= f.text_field :tag_list,  :id => "tags", :value => @your_var.tags.map(&:name).join(',') %>
    

    希望,我正确理解了这个问题,这个解决方案会对您有所帮助。

    【讨论】:

      【解决方案2】:

      如果我正确理解了这个问题,请在您的 tag_list 上使用 join(', ') :)

      【讨论】:

      • 嘿杰森!有没有特殊的格式化方法?我试过&lt;%= f.text_field :tag_list.join(', ') %&gt;,但这给了undefined method 'join' for :tag_list:Symbol。我在显示页面中使用它,也许你可以从中吸取教训,因为它似乎是一个类似的想法:&lt;%= raw @goal.tag_list.map { |t| link_to t.titleize, tag_path(t), class: deadline_label_class(@goal) }.join(' ') %&gt;
      • 嗨,安东尼!这是因为:tag_list 是一个符号,如错误所示。它没有方法join :) 只是提醒一下,那些以: 开头的符号是:name、:age 等符号。你只需要在class 中调用map.join 与tag_list。即your_class.tag_list.map{|tags| [Enter how you want to format your tags]] }.join(', ')
      • 感谢 Jason 的补充解释 :) 我还有点挣扎,我本可以想通的,但我采取了懒惰的路线并选择了另一个答案:/ 我给了你一个支票& 关于你之前的一些答案:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多