我们正在开发会议管理应用程序,大部分资源都是会议的嵌套资源。现在,我们决定将子域用于会议主页,并在重构资源方面遇到麻烦。
目前的网址方案如下:
/会议/:ID /讲话
/会议/:ID /管理
我们希望将/ meetings /:id部分移动到子域并使用以下资源:
conferenceid.sitename.com/speeches
conferenceid.sitename.com/manage
以下是当前路线文件: https://github.com/kodgemisi/confdeck/blob/development/config/routes.rb#L17
进行此转换的最佳方式是什么?我们如何防止当前的网址助手?
答案 0 :(得分:1)
首先让我们调整您的子域类。以下代码应该足够了
function type(callback) {
captionEl.html(caption.substr(0, captionLength++));
if(captionLength < caption.length+1) {
setTimeout(type, 50);
} else {
captionLength = 0;
caption = '';
callback();
}
}
type(erase);
// somewhere later in the code it does something else after type is done
type(duplicate);
那么你应该能够在路线中使用以下
来调用它class Subdomain
def self.matches?(request)
request.subdomain.present? && request.subdomain != 'www'
end
end
然后在你的控制器中你会这样:
constraints(Subdomain) do
resource :conference, path: "/" do
member do
get 'apply'
post 'apply' => "conferences#save_apply"
end
end
(我看到你使用友好ID,所以我认为你的子域名是会议的Conference.find_by_slugged!(request.subdomain)
。