从轨道中的视图中选择或创建

时间:2014-01-02 10:53:43

标签: ruby-on-rails ruby-on-rails-3 view ruby-on-rails-4

在rails中,有任何简单的方法可以实现从视图中选择或创建。

例如:

Product has_many(or has_one) Tags.

创建新产品时,我可以选择现有的tags或创建新产品。

这可以通过使用JavaScript和其他方式来完成。但是所有这些都需要花费更多的时间和精力。

如果你知道其他简单方法,请分享......

编辑:

像这样。

enter image description here

2 个答案:

答案 0 :(得分:5)

但想象你有100个标签或更多!你的页面看起来很糟糕,有100个复选框或更多...,一个优雅的方法是使用一个名为jQuery Tokeninput的jQuery插件,我在我的项目中使用它,它对你想要的东西很有帮助,你可以找到插件Here

这是关于如何使用它的截屏视频:Token fields

这是修订版:Token Fields (revised)

如果您也需要How to create a token input field where the user can also add new items

,请查看此博客文章,了解相同的插件

欢呼

答案 1 :(得分:1)

是的。

您是在嵌套表单之后。试试,https://github.com/ryanb/nested_form

例如,

<% form_for @product do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <% f.fields_for :tags do |tag| %>
  <p>
    <%= tag.label :content, "Tag Name" %><br />
    <%= tag.check_box :content %>
  </p>

  <%= tag.link_to_remove "Remove this tag" %>
  <% end %>

  <%= tag.link_to_add "Add new tag" %>

  <p><%= f.submit "Submit" %></p>
<% end %>

按照文档中的说明设置控制器和模型,并在视图中尝试上面的代码。这个railscast将帮助您计算嵌套表单http://railscasts.com/episodes/197-nested-model-form-part-2