|
|
1
1
您应该使用机架中间件拦截请求,然后为您的正确Rails应用程序重写URL。这样,您的路由文件仍然非常简单。
在中间件中,您查找与路径关联的实体,并将URL重新映射到简单的内部URL,从而允许Rails路由发送到正确的控制器并正常调用过滤器链。 更新 下面是使用 Rails Metal 组件和您提供的代码。我建议您考虑简化如何查找路径段,因为您使用当前代码复制了大量数据库工作。
要了解如何使用金属和机架,请查看Ryan Bates的Railscast。 episode on Metal 和 episode on Rack . |
|
|
2
1
与实例化其他控制器不同,我只呈现一个不同于PathController的Show操作的模板,这取决于路径是否与某个部分或文章匹配。即
原因是,虽然您可以在另一个控制器中创建一个控制器的实例,但它不会按您希望的方式工作。也就是说,第二个控制器将无法访问您的参数、会话等,然后调用控制器将无法访问实例变量和呈现在第二个控制器中发出的请求。 |
|
cluster1 · 采取独立的新行动的好处是什么? 1 年前 |
|
|
Robert · 使用JSON或哈希时,将NULL替换为NIL 1 年前 |
|
|
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
|
|
Diogo Amaral · 实现API请求的正确方式 1 年前 |
|
|
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
|
|
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
|
Flávio · 基于另外两个生成数组 1 年前 |