Что делает ActiveRecord:: средний MultiparameterAssignmentErrors?

Возможно:

Sub Set_Visible_Invisible()

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
   ws.Shapes("btn_S2_Pasive").Visible = False
   ws.Shapes("btn_S2_Active").Visible = True
Next ws

End Sub

Ключевой вопрос не в том, чтобы дважды указать рабочий лист.

15
задан Jason Wadsworth 18 September 2008 в 14:58
поделиться

5 ответов

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

Моя проблема состояла в том, что я использовал поле формы datetime_select для поля модели даты. Это, по-видимому, дросселирует, когда волшебство мультипараметра пытается установить время на объекте Даты.

решение состояло в том, чтобы использовать date_select поле формы, а не datetime_select.

11
ответ дан 1 December 2019 в 03:25
поделиться

ActiveRecord выдает исключение MultiparameterAssignmentErrors, когда вы пытаетесь установить недопустимую дату для атрибута модели.

Попробуйте выбрать дату 31 ноября из раскрывающегося списка date_select или datetime_select, и вы получите эту ошибку .

2
ответ дан 1 December 2019 в 03:25
поделиться

Эта ошибка может возникать и при заполнении данных формы с помощью таблицы.

например, это не работает:

When I fill in the following:
  | report_from_1i | 2010     |
  | report_from_2i | January  |
  | report_from_3i | 1        |
  | report_to_1i   | 2010     |
  | report_to_2i   | February |
  | report_to_3i   | 1        |

но это работает:

When I fill in the following:
  | report_from_1i | 2010 |
  | report_from_2i | 1    |
  | report_from_3i | 1    |
  | report_to_1i   | 2010 |
  | report_to_2i   | 2    |
  | report_to_3i   | 1    |
0
ответ дан 1 December 2019 в 03:25
поделиться

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

Category myCategory = _context.Categories.First(i => i.CategoryID == categoryIDToUse);

Или попробуйте создать сущность как заглушку, чтобы сохранить попадание в БД:

Category myCategory = new Category{CategoryID = categoryIDToUse };

Затем добавьте эту сущность в набор сущностей (CategureSet) в ObjectContext с помощью метода AttachTo (можно проверить, присоединена ли она). Затем можно добавить категорию к сущности пользователя с помощью метода Добавить. Что-то вроде:

myUser.Categories.Add(myCategory);

Вызов StartChanges (). Это сработало для меня.

-121--4950514-

Возможным решением будет создание «скрипта»:

Start-Job -filepath .\emacs.ps1 -ArgumentList $workingdir, "RandomFile.txt"

Ваш сценарий будет выглядеть следующим образом:

Set-Location $args[0]
emacs $args[1]

Надеюсь, это поможет.

-121--1518334-

Супер взлом, но мне нужно было решить эту проблему сразу для клиентского проекта. Это все еще ошибка с Rails 2.3.5.

Используя date _ выберите или datetime _ выберите , если добавить его в модель в методе initialize , можно предварительно разобрать переданные атрибуты, сериализованные в форме, чтобы он работал:

def initialize(attributes={})
  date_hack(attributes, "deliver_date")
  super(attributes)
end

def date_hack(attributes, property)
  keys, values = [], []
  attributes.each_key {|k| keys << k if k =~ /#{property}/ }.sort
  keys.each { |k| values << attributes[k]; attributes.delete(k); }
  attributes[property] = values.join("-")
end

Я использую его с вложенной полиморфной моделью. Вот вопрос, который у меня был, показывающий модели, которые я использую . Так что мне нужно принимает _ nested _ attributes _ для с указанием даты и времени.

Вот входные и выходные данные с помощью консоли:

e = Event.last
=> #<Event id: 1052158304 ...>
e.model_surveys
=> []
e.model_surveys_attributes = [{"survey_id"=>"864743981", "deliver_date(1i)"=>"2010", "deliver_date(2i)"=>"2", "deliver_date(3i)"=>"11"}]
PRE ATTRIBUTES: {"survey_id"=>"864743981", "deliver_date(1i)"=>"2010", "deliver_date(2i)"=>"2", "deliver_date(3i)"=>"11"}
# run date_hack
POST ATTRIBUTES: {"survey_id"=>"864743981", "deliver_date"=>"2010-2-11"}
e.model_surveys
=> [#<ModelSurvey id: 121, ..., deliver_date: "2010-02-11 05:00:00">]
>> e.model_surveys.last.deliver_date.class
=> ActiveSupport::TimeWithZone

В противном случае они были либо нулевыми, либо вызывали ошибку:

1 ошибка (ошибки) при назначении многопараметрических атрибутов

Надеюсь, что это поможет, Ланс

5
ответ дан 1 December 2019 в 03:25
поделиться

В моем случае плагин ActiveRecord am / pm вызвал ошибка из-за неправильного alias_method_chain , что привело к исключению StackLevelTooDeep .

Плагин был включен плагином unobtrusive_date_picker.

Взгляните на это перед тем, как взломать.

0
ответ дан 1 December 2019 в 03:25
поделиться
Другие вопросы по тегам:

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