Изменение Файлов ресурсов (resx) пространство имен и модификатор доступа

Почему создают модель? Просто используйте выбор.

DAYS = ['Monday', 'Tuesday', 'Wednesday', ...]
select(:event, :day, DAYS)

Это - обычно лучшая практика, чтобы поместить константу в соответствующую модель и использовать его оттуда.

В Вашей модели:

class Event < ActiveRecord::Base
  DAYS = ['Monday', 'Tuesday', 'Wednesday', ...]
end

и затем в Вашем представлении:

select(:event, :day, Event::DAYS)

и вот другой прием, я использую много:

select(:event, :day, Event::DAYS.collect {|d| [d, Event::DAYS.index(d)]})
52
задан CJBS 17 January 2018 в 14:04
поделиться

2 ответа

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

Когда я пытался понять эта статья , я тоже наткнулся на эту проблему. После загрузки исходных файлов, как предложил автор, я заметил, что файл ресурсов, который уже присутствовал, имел следующий класс в свойстве «Custom Tool»: «PublicResXFileCodeGenerator». Кроме того, для свойства «Build Action» было установлено значение «Embedded Resource», но я не уверен, является ли это частью проблемы.

Любой новый файл ресурсов, который я создал, использовал настраиваемый инструмент «GlobalResourceProxyGenerator». После перезаписи с помощью вышеупомянутого "PublicResXFileCodeGenerator", похоже, проблема была решена, какой бы ни была реальная проблема.

Я также заметил, что текущий файл ресурсов был в формате «2.0», тогда как новые файлы были в формате «1.3». Вы можете увидеть это, когда открываете файл resx с помощью редактора XML (или используя "open with" из самой Visual Studio).

Я надеюсь, что вы сможете заставить его работать таким образом, хотя это не идеально. Скорее всего, это проблема с установкой Visual Studio 2008 и SP1 или что-то в этом роде.

Обновление:

Эта запись в блоге также может помочь.

Надеюсь, у вас получится заставить его работать вот так, но это не идеально. Скорее всего, это проблема с установкой Visual Studio 2008 и SP1 или что-то в этом роде.

Обновление:

Эта запись в блоге также может помочь.

Надеюсь, у вас получится заставить его работать вот так, но это не идеально. Скорее всего, это проблема с установкой Visual Studio 2008 и SP1 или что-то в этом роде.

Обновление:

Эта запись в блоге также может помочь.

45
ответ дан 7 November 2019 в 09:08
поделиться

Resx выбирает пространство имен в зависимости от пространства имен, указанного в конфигурации вашего проекта Visual Studio. Обновите свой проект, чтобы иметь правильное пространство имен, и resx должен унаследовать его (новые точно, не уверены, будут ли исправлены существующие - они должны).

6
ответ дан 7 November 2019 в 09:08
поделиться
Другие вопросы по тегам:

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