gpt4 book ai didi

jquery - 使用 Mercer Editor + Rails 3 确定路线范围

转载 作者:行者123 更新时间:2023-12-01 05:56:30 27 4
gpt4 key购买 nike

我正在检查水星编辑器 https://github.com/jejacks0n/mercury小项目。

这些是我的routes.rb 文件

Myapp::Application.routes.draw do
mount Mercury::Engine => '/'
scope '(:locale)' do
resources :post
end
end

我的帖子网址是:

http://localhost:3000/es/posts/1
http://localhost:3000/en/posts/2
http://localhost:3000/de/posts/3
.
.
.

我的水星路线:

Routes for Mercury::Engine:
mercury_editor /editor(/*requested_uri)(.:format) mercury#edit
/mercury/:type/:resource(.:format) mercury#resource
/mercury/snippets/:name/options(.:format) mercury#snippet_options
/mercury/snippets/:name/preview(.:format) mercury#snippet_preview

我正在尝试这样的事情:

<%= link_to 'Edit', "/editor" + request.path %>

但我得到了错误的网址http://localhost:3000/editor/es/posts/2

有人能告诉我如何为我的路线添加指定路径吗:

http://localhost:3000/es/editor/posts/1http://localhost:3000/editor/posts/1

最佳答案

替换<%= link_to 'Edit', "/editor" + request.path %>

<%= link_to 'Edit', request.path.gsub(/^\/((\w)+)/, '/\1/editor') %>

获取http://localhost:3000/es/editor/posts/1

或者

替换<%= link_to 'Edit', "/editor" + request.path %>

<%= link_to 'Edit', request.path.gsub(/^\/((\w)+)/, '/editor') %>

获取http://localhost:3000/editor/posts/1

甚至你可以定义一个辅助方法,如

def mercuryfied_url(with_locale = true)
if with_locale
request.path.gsub(/^\/((\w)+)/, '/\1/editor')
else
request.path.gsub(/^\/((\w)+)/, '/editor')
end
end

然后调用

<%= link_to 'Edit', mercuryfied_url %>

获取http://localhost:3000/es/editor/posts/1

或者

   <%= link_to 'Edit', mercuryfied_url(false) %>

获取http://localhost:3000/editor/posts/1

希望有帮助:)

关于jquery - 使用 Mercer Editor + Rails 3 确定路线范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com