Rails - 验证域是否设置自定义消息

时间:2014-01-24 01:06:11

标签: ruby-on-rails ruby-on-rails-4 cross-domain haml

所以我正在使用rails 4研究ROR并尝试验证我的应用中的当前域,并为每个域设置自定义消息。

我的app / views / layouts / application.html.haml中有类似的内容:

!!!
%html
  %head
    //verify the domain here
    //store in a var?
    %meta{ content: 'text/html; charset=utf-8', 'http-equiv' => 'Content-Type' }
    %meta{ content: 'Set the message according each domain here', name: 'description'}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您可以从请求对象中获取域,该对象在views / controllers / helpers中可用:

request.domain

更好地练习我们在控制器动作中设置消息,然后只在视图中显示它们,例如:

def my_action
  @domain_message = get_domain_message(request.domain)
end

def get_domain_message(domain)
  case domain
  when 'example.com' then 'domain specific message'
  when 'egzample.com' then 'another domain specific message'
  end
end

现在可以在视图中使用@domain_message

答案 1 :(得分:0)

您可以像这样定义一个哈希:

messages = {"www.example.com" => "Message for www.example.com", "www.example2.com" => "Message for www.example2.com"}

现在您可以使用以下方式显示消息:

messages[request.host]