gpt4 book ai didi

ruby-on-rails - Rails 4 - 如何根据当前路线显示同一 Controller 操作的不同 View ?

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:00 25 4
gpt4 key购买 nike

我有一个带有索引操作的标准帖子 Controller 。

目前,我将其路由为主页 /,以及帖子页面 /posts

class PostsController < ApplicationController

def index
# Logic and finds here
end

end

在我的 routes.rb 文件中:

root to: "posts#index"
get "/posts" => "posts#index"

但是,在我看来,我想根据路由是 /posts 还是只是 / 来稍微不同地布局。这可能吗?如果是这样,最佳做法是什么?

我正在考虑在 posts Controller 中创建另一个操作,但随后我将复制已经在我的 index 操作中定义的逻辑——我想避免这种情况。

我基本上想使用相同的内容,但显示不同的 View 。

非常感谢任何建议或帮助。

谢谢,迈克尔。

最佳答案

除了使用不同的 Controller /操作之外,一个解决方案是从您的路由器传递一个额外的参数:

root to: "posts#index", source: 'home'
get "/posts" => "posts#index"

然后在你的 Controller 中你可以这样做:

class PostsController < ApplicationController
def index
# Logic
render(params[:source] || 'index')
end
end

当用户通过根路径进入时,它将呈现home 模板,否则呈现index 模板。

关于ruby-on-rails - Rails 4 - 如何根据当前路线显示同一 Controller 操作的不同 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23361734/

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