在rails中更改url名称

时间:2018-06-05 13:46:07

标签: ruby-on-rails ruby

我在rails应用程序中有一条路线:

get 'welcome/usertypeone' => 'welcome#usertypeone'

这在浏览器中看起来不太好,因为URL如下所示:

www.mywebsite/welcome/usertypeone

任何方式我都可以改变网址的方式:

www.mywebsite/welcome/teacher

无需更改路线本身,因为我需要在大量地方更改路线。只是看看是否有更好的解决方案。

3 个答案:

答案 0 :(得分:3)

如果你明确定义了路线(就像你一样,而不是使用var myDropzone = new Dropzone("div#myDrop", { addRemoveLinks: true, autoProcessQueue: false, parallelUploads: maxParallelCount, url: "#", transformFile: function transformFile(file, done) { zip = new JSZip(); zip.file(file.name, file); zip.generateAsync( { type:"blob", compression: "DEFLATE" } ).then(function(content) { done(content); }); }, init: function() { this.on("addedfile", function(file) { if (jQuery.inArray(file.name, addedfiles) > -1) { myDropzone.removeFile(file); } if (jQuery.inArray(file.name, DOC_NAMES) == -1) { myDropzone.removeFile(file); } else { addedfiles.push(file.name); queueCount += 1; } }); this.on("removedfile", function(file) { console.log(file.name); if (jQuery.inArray(file.name, addedfiles) > -1) { // addedfiles.pop(file.name); var indOfAddedFiles = addedfiles.indexOf(file.name); console.log("indOfAddedFiles -> "+ indOfAddedFiles); addedfiles.splice(indOfAddedFiles, 1); queueCount -= 1; } }) } 等),你可以按照自己的意愿配置路线。

resource

这将使get 'welcome/teacher' => 'welcome#usertypeone' 路由到同一控制器和操作。

但是,您需要在整个应用程序中更新从www.mywebsite.com/welcome/teacherwelcome_usertypeone_path的路线。您的文本编辑器可能具有搜索和替换功能,使其成为10秒钟。

答案 1 :(得分:0)

也许你想要的是这样的:

get 'welcome/:user_type' => 'welcome#usertypeone'

这将采用welcome/之后的任何内容,并将其params作为params[:user_type],但仍会转到WelcomesControllerusertypeone动作。

答案 2 :(得分:-1)

您可以转到routes.rb文件并尝试:

get 'welcome/teacher' => 'welcome#usertypeone'

然后你应该得到你需要的网址:www.mywebsite/welcome/teacher