Как управлять постоянными всего проекта в проекте, используя ROR? - PullRequest
1 голос
/ 09 декабря 2011

lib / constant.rb

module Constant

  BANQUET_TYPE_OF_OFFER = [['Narrow By Offer Type',''], ["A la Carte", "A la Carte"],

  ["Alcohol Offer", "Alcohol Offer"], ["Buffet", "Buffet"], ["Brunch", "Brunch"], 

  ["Happy Hours", "Happy Hours"], ["Set Menu", "Set Menu"],["Banquets", "Banquets" ]]

end

application_controller.rb

class ApplicationController < ActionController::Base

    include Constant

end

views / banquets / banquet.html.haml

= f.select_tag "type_of_offer", options_for_select(Constant::BANQUET_TYPE_OF_OFFER, 
@selected), :name => "banquet[type_of_offer][]", :multiple => true

Я создал многоконстанты в приложении рельсов, такие как константы Java.Это лучшая практика или нет ???Есть другое решение?

1 Ответ

2 голосов
/ 10 декабря 2011

Как отмечает @Batkins, вам не нужно включать модуль в ваш класс.

Когда речь идет о константах, это сводится к предпочтениям использования констант, определенных как Ruby по сравнению с определеннымикак YAML.

В идеале BANQUET_TYPE_OF_OFFER будет определяться в модели, где это имеет больше смысла, а не в глобальном местоположении.Если вам определенно нужно, чтобы он был вне ваших моделей, подумайте о том, чтобы переместить его в config/initializers/ вместо lib.

...