gpt4 book ai didi

html - 基于 rails 中的路由参数加载部分

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

是否可以根据通过路由的参数加载部分内容?我已经创建了一个登陆页面模板,我想根据行业对主要信息进行一些调整。使事情复杂化的是,该参数需要是可选的。

例如,如果 URL 是

  • www.domain.com/medical 我想在 layouts/header.html.erb 中呈现部分 landing/medical 这是在 layouts/application.html.erb
  • 中呈现
  • www.domain.com/legal 我想在 layouts/header.html.erb 中呈现部分 landing/legal 这是在 layouts/application.html.erb
  • 中呈现
  • www.domain.com 呈现默认部分 landing/default.html.erb

这是我当前观点的一个例子:

landing/medical.html.erb

<div class="heading">
<h1>Are you HIPAA Compliant?</h1>
Find out more by signing up below...
</div>

landing/legal.html.erb

<div class="heading">
<h1>Your Legal Practice needs help</h1>
<p class="leadFind out why by by signing up below...
</div>

登陆/default.html.erb

<div class="heading">
<h1>What are you doing?</h1>
Probably nothing...
</div>

layouts/header.html.erb

<div class="heading">
<%= render 'the/optional/partial' %>
</div>

layouts/application.html.erb

<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<%= render 'layouts/shim' %>

<% if content_for?(:head) %>
<%= yield(:head) %>
<% end %>

</head>
<body>

<div class="site-wrapper">
<div class="site-wrapper-inner">

<%= render 'layouts/header' unless @disable_heading %>

<div class="cover-container">

<div class="inner cover">
<%= yield %>
</div>

</div>
</div>
<%= render 'layouts/footer' %>
</div>

<%= debug(params) if Rails.env.development? %>

</body>
</html>

这可能吗?

最佳答案

我认为缺少一些信息,它可能会导致不同的方法来做到这一点。

可以在路由中指定参数:

routes.rb

get '/(:industry_param)' => 'welcome#index'

有了这个,假设您的网站根目录将转到该路径,您现在可以访问变量 params[:industry_param],您可以使用它有条件地呈现相应的模板:

welcome_controller.rb

@industry = params[:industry_param] || '默认'

layouts/header.html.erb

<div class="heading">
<%= render "landing/#{@industry}" %>
</div>

我想你可以从这里开始。有一些安全方面的考虑,比如过滤 Controller 中的参数,只接受特定的值等。

关于html - 基于 rails 中的路由参数加载部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940285/

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