我需要一个能够更新模型上的数组属性的 View ,以便我可以在 View 上动态添加内容,以便能够添加它。这还有道理吗?
基本上 Foo 有 url。因此,在数据库中,我只有一个文本数据类型,我想存储逗号分隔的 url 列表,并且我覆盖默认的 AR setter 和 getter,这样我就可以分配一个数组,并获取一个值的数组,它会处理连接和 split 。
我迷失的是如何最好地进行 View 。我最初需要一个文本字段,但随后需要一个“添加另一个网址”链接来附加另一个网址的另一个文本字段,以及另一个,等等。
是否有“rails way”来做到这一点,还是我必须自己推出?
最佳答案
对于动态添加表单字段,确实没有特定的“Rails 方式”来做到这一点。使用 jQuery 或 Prototype 滚动您自己的 Javascript 并不困难。
您认为:
<div id="url_list">
<%= render :partial => "url_form", :collection => @my.urls %>
</div>
<%= button_to_function 'Add' { |page| page.insert_html :bottom, :url_list, :partial => "url_form", :object => Url.new } %>
此代码利用 Rails View 助手并假设您使用的是 Prototype。它也不考虑从列表中删除 URL。我怀疑它是否会完全按照所写的那样工作,但我希望您能大致了解如何做到这一点。我建议立即进行的改进是使 JavaScript 不引人注目。
Complex Forms Railscast 并不是专门解决这个问题的,但 Ryan 确实包含了动态添加表单,这是一个值得遵循的很好的例子。
祝你好运!
关于javascript - 从 HTML View 中设置 ActiveRecord 模型上的值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1269057/