在rails中,有任何简单的方法可以实现从视图中选择或创建。
例如:
Product has_many(or has_one) Tags.
创建新产品时,我可以选择现有的tags
或创建新产品。
这可以通过使用JavaScript和其他方式来完成。但是所有这些都需要花费更多的时间和精力。
如果你知道其他简单方法,请分享......
编辑:
像这样。
答案 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