1

私はとを持っていUserますSetting。と呼ばれるフィールドSettingがあります::serializable:custom_links

Setting.rb

  serialize :custom_links, Hash

User.rb

has_one :setting, dependent: :destroy

:custom_linksユーザーが任意の数のカスタムリンクを設定し、それらをハッシュに保存できるフォームを作成したいと思います。各カスタムリンクには、ハッシュに名前とURLが含まれています。

ビューでこのフォームを構造化し、ユーザーがjavascriptを使用して必要な数のカスタムリンクを動的に追加できるようにする方法がわかりません(そしてそれらを:custom_linksハッシュに保存します)。私は他のフィールド:settingを持っていて、コントローラーはそれらのフィールドで正常に動作しています-私が助けを必要としているのはビューとjavascriptだけだと思います。

明確化のための更新:

ユーザーがフォームに入力して入力するとき:custom_linksは、次の形式にする必要があります。

{
:name => "Google", :url => "http://www.google.com",
:name => "Twitter", :url => "http://www.twitter.com"
}

:custom_linkまた、ユーザーが入力したいテキストフィールドごとに2つのテキストフィールドを動的に追加できるようにしたいと思います。

ありとあらゆる助けをいただければ幸いです。

ありがとう

4

1 に答える 1

1

これらのリンクを別のモデルとして追加することをお勧めします(例has_many :custom_links)。さらに、シリアル化された属性に対して独自のカスタム検証メソッドを作成する代わりに、ARの検証を使用できるようになります。

これらのフィールドにはネストされた属性を使用できます。次のrailscastsエピソードを見てください。

2つ目は、JavaScriptを使用してフィールドを動的に追加する方法も示しています。

于 2012-06-26T16:46:41.930 に答える