Три уровня вложили формы в направляющих с помощью accepts_nested_attributes_for

Если Вы знаете, как далеко назад, можно попробовать что-то как:

# Current branch vs. parent
git diff HEAD^ HEAD

# Current branch, diff between commits 2 and 3 times back
git diff HEAD~3 HEAD~2

Предшествующие фиксации работают что-то вроде этого:

# Parent of HEAD
git show HEAD^1

# Grandparent
git show HEAD^2

существует много способов, которыми можно определить фиксации:

# Great grandparent
git show HEAD~3

См. эта страница для деталей .

7
задан Anon 3 August 2009 в 05:45
поделиться

2 ответа

Я обновил свои примеры сложной формы для работы с Rails 2.3. См. глубокую ветвь , где приведен пример глубоко вложенных моделей.

git clone git://github.com/ryanb/complex-form-examples.git
cd complex-form-examples
git checkout -b deep origin/deep
rake db:migrate
script/server

Это самое чистое решение, которое я когда-либо видел. Если вы обнаружите какие-либо ошибки или улучшения, пожалуйста, добавьте проблему на GitHub .

18
ответ дан 6 December 2019 в 09:21
поделиться

Прежде всего, спасибо, Райан, за то, что опубликовал свое решение. Он очень хорошо работает в двухуровневой форме, но у меня проблемы с использованием его в более глубокой вложенной форме. Firebug выдает ошибку javascript, если я хочу поместить add_child_link в другой уже добавленный фрагмент. Похоже, есть ошибка выхода.

Я уже пытался избежать экранирования внутреннего партиала, передав другую опцию методу ссылки, но это почему-то не работает.

def add_child_link(name, f, options)
  fields = new_child_fields(f, options)
  fields = escape_javascript(fields) unless options[:already_escaping] == true
  link_to_function name, %{
        var new_object_id = new Date().getTime();
        var html = jQuery("#{fields}".replace(/#{options[:index]}/g, new_object_id)).hide();
        html.appendTo(jQuery("#{options[:where]}")).show();
      }
end

Есть какие-нибудь намеки на это?

С уважением ,

Майк

2
ответ дан 6 December 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: