我在Nested Model Form上提到了来自Railscast的这个很棒的教程。一切都很好。但是,我注意到我需要所有添加/删除的Ajax功能。
我有一个3级嵌套模型。 Country
,States
,Shops
。例如:
United States
|__ California
|__ Shop A
|__ Shop B
|__ (Add new shop)
|__ New York
|__ Shop C
|__ Shop D
|__ (Add new shop)
(Add new state)
我已阅读并搜索了所有可用的教程,但似乎没有任何内容符合我的目的。它们主要提供动态添加/删除项目的方式,但不与服务器交互。我希望在单击链接Add...
后,用户将能够输入信息并单击该特定子表单的Submit
按钮,并将其保存到数据库中。同样适用于Remove
,只需点击x
即可立即删除。
如果创建一个新的Country
也可能是ajaxed将会很棒。但就目前而言,我正在采用两步法。首先,用户创建Country
,点击Next
后,它会保存到数据库并重定向到编辑页面。在编辑页面的视图中,它会检查是否.new_record?
,然后显示其余的子表单。
根据您的建议,您可以仅参考上面给出的链接中的代码。仅这一点就足够了。非常感谢你的帮助,因为我已经偶然发现了几个星期。
非常感谢!
答案 0 :(得分:0)
要考虑的事情。如果您使用RESTful操作执行此操作(默认),当用户单击“添加”时,它将必须发送方法=> :岗位。但是当用户点击“X”时,它必须发送一个方法=> :删除。当然,正常的选择商店C将是一种方法=> :得到。由于http方法附加到表单,您将不得不动态切换 - 在Javascript?除非您可以覆盖路径文件中的默认其余动词。
同样,添加,获取和删除都会在控制器上使用不同的方法,因此您必须手动调用它们。
这似乎意味着您应该放弃使用表单或选择标记,只需构建一个ajaxy列表,并添加和删除添加和删除链接。