1

我正在构建一个 Rails 应用程序,我需要对同一个应用程序的三个不同视图进行可用性测试。我的想法是根据子域切换默认视图路径。

例如,我希望能够定义如下路径:

option1.mysite.com => views/option_1
option2.mysite.com => views/option_2
option3.mysite.com => views/option_3

我想保持模型和控制器相同,但根据子域切换视图。最好的方法是什么?

4

1 回答 1

1

我们这样做是这样的:

session[:site] = case request.subdomains.last 
        when "a" then "a"
        when "b" then "b"
        when "c" then "c"
end

set_site这是我们应用程序控制器中方法的一部分。每个请求都检查是否session[:site]已设置;如果没有,它会调用set_site来设置它。

在您的情况下,现在您只需要在视图中引入逻辑以根据 的值以不同的方式呈现事物session[:site],但如果您的实际视图 HTML 相同并且主要区别在于 CSS 则更好。然后,您只需根据session[:site].

于 2010-11-16T00:58:41.993 回答