Почему создают модель? Просто используйте выбор.
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)]})
Я еще не совсем уверен, в чем проблема, но могу сказать вам, что вы можете решить ее, изменив инструмент, используемый для генерации кода.
Когда я пытался понять эта статья , я тоже наткнулся на эту проблему. После загрузки исходных файлов, как предложил автор, я заметил, что файл ресурсов, который уже присутствовал, имел следующий класс в свойстве «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 или что-то в этом роде.
Обновление:
Эта запись в блоге также может помочь.
Resx выбирает пространство имен в зависимости от пространства имен, указанного в конфигурации вашего проекта Visual Studio. Обновите свой проект, чтобы иметь правильное пространство имен, и resx должен унаследовать его (новые точно, не уверены, будут ли исправлены существующие - они должны).