我有User
和Setting
。 Setting
有一个名为:serializable
的{{1}}字段:
在:custom_links
Setting.rb
在 serialize :custom_links, Hash
User.rb
我想创建一个表单,允许用户设置任意数量的自定义链接,并将其存储在has_one :setting, dependent: :destroy
哈希中。每个自定义链接在哈希中都有一个名称和一个URL。
我不确定如何在视图中构建此表单,并允许用户使用javascript动态添加任意数量的自定义链接(并将其保存在:custom_links哈希)。我在:custom_links
中有其他字段,我的控制器可以正常使用这些字段 - 我认为唯一需要帮助的是视图和javascript。
更新澄清:
当用户填写表单以输入:setting
时,我希望它采用以下格式:
:custom_links
此外,我希望能够为用户想要输入的每个{
:name => "Google", :url => "http://www.google.com",
:name => "Twitter", :url => "http://www.twitter.com"
}
动态添加2个文本字段。
感谢任何和所有帮助。
由于
答案 0 :(得分:1)
我建议将这些链接添加为单独的模型(例如has_many :custom_links
)。另外,您将能够使用AR的验证,而不是为序列化属性制作自己的自定义验证方法。
您可以对这些字段使用nested attributes。看看下面的railscasts剧集:
第二个还向您展示了如何使用javascript动态添加更多字段。