2014-01-24 59 views
0

所以即時學習ROR使用rails 4和im試圖驗證我的應用程序中的當前域,併爲每個域設置自定義消息。Rails - 驗證域的設置自定義消息

我在我的應用程序/視圖/佈局/ 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'} 

有人可以幫忙嗎?

回答

0

你可以從請求對象,這是可以在視圖/控制器/傭工域:

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 

Now @domain_message is available for use for the view。

+0

thaks!現在我試圖/調用方法在我看來視圖/文件夾index.html.haml使用該行: '= @get_domain_message「domain'' 但這不工作,並且沒有顯示錯誤信息 –

+0

@wtkd,在例子中我設置了實例變量'@ domain_message',所以'@ get_domain_message'不起作用。實例變量需要在別處設置,如控制器。 – Mori

+0

好!它適用於我使用#{get_domain_message}謝謝! –

0

您可以定義一個哈希這樣的:

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

現在你可以使用這個顯示消息:

messages[request.host] 
+0

謝謝你的男人! ;) –