Ошибка form_for проверки на стороне клиента Rails

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

неправильное количество аргументов (3 из 2) Извлеченный исходный код (вокруг строки №1):

<%= form_for @user, :validate => true do |f| %>

След включения шаблона: app/views/users/new.html.erb


person Community    schedule 12.06.2013    source источник
comment
Я получаю эту же ошибку. пожалуйста помоги!   -  person Connor Leech    schedule 26.09.2013
comment
Привет, я использовал драгоценный камень рельсов simple_form, и вот мое решение. ‹%= simple_form_for @user, :html =› { :class =› 'form-horizontal', :id =› create_user } do |f| %› Это довольно просто, и вы можете обратиться к railscast, чтобы установить простую форму.   -  person    schedule 26.09.2013


Ответы (4)


На основе https://github.com/bcardarella/client_side_validations/issues/494 это выглядит например, CSV не будет поддерживать Rails 4 немного дольше.

Однако в нем также говорится

Я не думаю, что CSV 4.0 выйдет как минимум через 2 месяца после того, как выйдет Rails 4.0 (надеюсь, не так долго), поскольку в JavaScript будут серьезные изменения. Потому что это займет так много времени, и люди захотят иметь версию CSV, совместимую с Rails 4.0, предлагая им использовать основную ветку или, возможно, выпуск альфа-версии или предварительной версии, чтобы частично удовлетворить их, пока мы обновляем, может быть правильным вариантом.

Так что, возможно, попробуйте вытащить csv прямо из git? Существует бета-версия 4.0, которую, возможно, стоит попробовать...

Обновить

Драгоценный камень CSV больше не поддерживается активно. В репозитории есть 3 разных ветки 4.0, последняя обновленная из которых 4-0-используемая (https://github.com/bcardarella/client_side_validations/branches/all).

Обновление 2

Как говорит @TheChamp, гем CSV теперь поддерживает рельсы 4.2!

person grossadamm    schedule 20.06.2013
comment
Уже почти 2015 год, а эта проблема все еще существует с Rails 4. По крайней мере, на данный момент это правильный ответ. - person sixty4bit; 03.12.2014
comment
Кроме того, у меня не работает бета-версия 4.0. Просто дает ту же ошибку, за исключением 5 для 4 аргументов вместо 3 для 2. - person sixty4bit; 03.12.2014
comment
Я не пробовал, но сейчас есть ветка 4-0-useable. Это немного новее, чем бета-ветка. Однако сам драгоценный камень больше не поддерживается, поэтому я не ожидал, что он вообще будет работать. - person grossadamm; 04.12.2014
comment
он снова поддерживается, проверьте мой ответ - person davegson; 21.01.2015

Поддержка Rails 4

Благодаря tagliala и bcardarella, client_side_validation теперь поддерживает rails 4!

После добавления

gem 'client_side_validations'

в мой Gemfile, он не загрузил все должным образом.

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

gem 'client_side_validations', github: "DavyJonesLocker/client_side_validations", branch: "4-2-stable"
person davegson    schedule 21.01.2015
comment
Не то, чтобы это сильно помогло, но это исправление сработало для меня. Он по-прежнему загружает старую версию 3.2.6 через rubygems.org по состоянию на 24 февраля 2015 года. Добавление явного языкового стандарта устранило проблему. - person tsujp; 24.02.2015

Если вы используете Rails 4, то проверка на стороне клиента устарела. Вы можете проверить здесь

http://railscasts.com/episodes/263-client-side-validations?view=comments

а также если вы перейдете на страницу github

https://github.com/bcardarella/client_side_validations

вы можете видеть, что он говорит, что он больше не поддерживается.

В качестве альтернативы вы можете попробовать использовать гем CSV из этой ветки, заменив строку CSV в вашем Gemfile на эту

gem 'client_side_validations', github: "bcardarella/client_side_validations", :branch => "4-0-beta"

Хотя не уверен даже, что это сработает. Так как он устарел.

Или вы можете проверить этот драгоценный камень,

https://github.com/kalkov/rails4_client_side_validations

Это просто модифицированная версия проверки на стороне клиента.

person Nikhil Nanjappa    schedule 27.01.2014
comment
Привет, спасибо за ваше объяснение. Вместо этого я использовал проверку jquery. - person ; 07.02.2014
comment
Сообщение из readme связанного гема: Не рекомендуется использовать этот гем. Это модифицированная версия client_side_validations, которая поддерживает Rails 4. Но я плохо понимаю кодовую базу, поэтому нет гарантии, что я продолжу ее поддерживать. В ридми также ошибочно утверждается, что client_side_validations поддерживает Rails 4. - person sixty4bit; 03.12.2014
comment
Кроме того, у меня не работает бета-версия 4.0. Просто дает ту же ошибку, за исключением 5 для 4 аргументов вместо 3 для 2. - person sixty4bit; 03.12.2014

Вы выполнили все инструкции на странице github? Если да, то перезагружали ли вы сервер? Установка добавляет инициализатор, который не вступит в силу до перезапуска сервера.

person Matt    schedule 12.06.2013
comment
Да, я перезапустил свой сервер. но ошибка все равно есть. Я слежу за видео на railscast railscasts.com/episodes/ - person ; 12.06.2013
comment
И вы выполнили все шаги здесь? , какую версию рельсов вы используете? как вы установили драгоценный камень - вы bundle install ? - person Matt; 12.06.2013
comment
Да, я сделал......конечно.......но я действительно не понимаю, почему возникает эта ошибка.......Я выполняю те же шаги, что и в railscasts - person ; 12.06.2013
comment
Наконец, я удаляю проверку на стороне клиента, и ошибка исчезает. Но мне нужно использовать это в будущем. Итак, я хочу знать причину ошибки. - person ; 12.06.2013