【发布时间】:2017-08-22 12:17:58
【问题描述】:
我是 Ruby on Rails 的新手,这是我第一次使用 MVC 结构,我需要一些帮助,如何将布局链接到视图页面?我正在浏览一些教程,但它看起来很复杂,我很困惑。
这是我的视图代码:
<div class="container" id="login">
<div class="row">
<div class="span3"></div>
<div class="span9">
<% resource.remember_me = true %>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), html:{role:"form", class:"form-horizontal" ,id:"form-login"}) do |f| %>
<div style="text-align: center; margin: 20px 0 20px 60px; width: 480px">
<%=image_tag 'logo_ras.gif' %>
</div>
<%= devise_error_messages! %>
<div class="control-group">
<%= f.label :email, {class:"control-label"} %>
<div class="controls">
<%= f.email_field :email, :autofocus => true %>
</div>
</div>
<div class="control-group">
<%= f.label :password, {class:"control-label"} %>
<div class="controls">
<%= f.password_field :password %>
</div>
<%=link_to "¿Olvidaste tu password?", new_user_password_path, {class: "controls"} %>
</div>
<%- if devise_mapping.rememberable? -%>
<div class="check-box">
<label><div class="controls"><%= f.check_box :remember_me %> No cerrar sesion </div></label>
</div>
<% end -%>
<div class="controls"><%= f.submit "Entrar", class:"btn btn-success" %></div>
<div style="text-align: center; margin: 20px 0 0 60px; width: 480px">
<%=link_to image_tag('banner.png'), "http://www.canalcolon.com", :target => "_blank" %>
<div>
Realización: <a href="http://www.gocnetworking.com" target="_blank">Gestió, Organització i Comunicació, S.A.</a><br/>
<%=link_to "Aviso legal", legal_path %>
</div>
</div>
<% end %>
</div>
</div>
</div>
我的视图中出现了一个布局(标题),我想删除该布局,但我看不到控制器的哪个位置可以这样做。这是我的视图中出现的布局:
<!DOCTYPE html>
<html>
<head>
<title>NK-RAS Personalizar es futuro</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= favicon_link_tag "favicon.png" %>
<%= favicon_link_tag "favicon_57_57.png", rel: "apple-touch-icon", sizes: "57x57" %>
<%= favicon_link_tag "favicon_72_72.png", rel: "apple-touch-icon", sizes: "72x72" %>
<%= favicon_link_tag "favicon_114_114.png", rel: "apple-touch-icon", sizes: "114x114" %>
<%= csrf_meta_tags %>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<%= render 'layouts/cookies' %>
<%if Rails.env=='production'%>
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46656081-1', ('https:' == document.location.protocol ? 'https://' : 'http://')+'www.ras-amgen.com');
ga('send', 'pageview');
</script>
<%end%>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-fixed-top navbar-default" role="navigation">
<div class="navbar-inner">
<!--BUTTON BAR RESPONSIVE-->
<% if user_signed_in? and current_user.hospitals.count > 0 %>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<% end %>
<!--APP NAME-->
<!--a class="brand" href="#">DeterminaRAS</a-->
<%=link_to(root_path) do%>
<%=image_tag("logo_ras_interior.gif",class:"brand")%>
<%end%>
<% if user_signed_in? and current_user.hospitals.count > 0 %>
<!--MENU OPTIONS-->
<div class="collapse nav-collapse">
<!-- <div class="nav navbar-nav navbar-left"> -->
<ul class="nav navbar-left">
<% if mobile_request? %>
<li><%= link_to("Determinaciones",determinaciones_path)%> <%#if can?(:index_det, Determinacion.new(medico_id: current_user.medico_id))%></li>
<li><%= link_to "Estadísticas",estadisticas_index_path %></li>
<li><%= link_to "Solicitudes",solicitudes_path if can?(:index_sol,Solicitud)%></li>
<% if can?(:crud, Hospital) && can?(:crud, Medico) %>
<li><%= link_to "Hospitales/médicos",solicitantes_hospitals_path %></li>
<% end %>
<% else %>
<li><%= link_to "Solicitudes",solicitudes_path if can?(:index_sol,Solicitud)%></li>
<% if can?(:crud, Hospital) && can?(:crud, Medico) %>
<li><%= link_to "Hospitales/médicos",solicitantes_hospitals_path %></li>
<%end%>
<li><%= link_to("Determinaciones",determinaciones_path) %> <%#if can?(:index_det, Determinacion.new(medico_id: current_user.medico_id)) %> </li>
<li><%= link_to "Estadísticas",estadisticas_index_path %></li>
<% end %>
</ul>
<ul class="nav navbar-right pull-right">
<li><%= link_to "Ayuda","/ayuda/menu.htm" %></li>
<li><%=link_to "#{current_user.whoami?}", perfil_path%></span></li>
<li><%= link_to "Salir", destroy_user_session_path, method: :delete %></li>
</ul>
</div>
<% end %>
</div>
</div>
</div>
<!-- <div id="container">
<% flash.each do |name, msg| %>
<%= content_tag :div, msg, id: "flash_#{name}" %>
<% end %>
</div>
-->
<div class="container-fluid" id="main-container">
<% flash.each do |name, msg| %>
<div class="alert alert-<%= name == :notice ? "success" : "error" %>">
<a class="close" data-dismiss="alert">x</a>
<%= msg %>
</div>
<% end %>
<%if user_signed_in? && mobile_request? %>
<div>
<%= yield %>
</div>
<% elsif user_signed_in? %>
<div id="signed_in">
<%= yield %>
</div>
<% else %>
<%= yield %>
<%end%>
</div>
<script type="text/javascript" src="https://eu-aa.appature.com/aa/12582914/script"></script>
<script type="text/javascript">aatracker.track();</script>
</body>
</html>
这里是主控制器(应用控制器):
class ApplicationController < ActionController::Base
protect_from_forgery
check_authorization :unless => :devise_controller?
before_filter :audit
helper_method :mobile_request?
def audit
audit = Audit.new
audit.controller = params[:controller]
audit.action = params[:action]
audit.url = self.env["REQUEST_URI"]
audit.ip = self.env["REMOTE_ADDR"]
audit.user_id = current_user.id if current_user
audit.save!
end
DEFAULT_MOBILE_AGENTS = %w(
palm
blackberry
nokia
phone
midp
mobi
symbian
chtml
ericsson
minimo
audiovox
motorola
samsung
telit
upg1
windows\ ce
ucweb
astel
plucker
x320
x240
j2me
sgh
portable
sprint
docomo
kddi
softbank
android
mmp
pdxgw
netfront
xiino
vodafone
portalmmm
sagem
mot-
sie-
ipod
up.b
webos
amoi
novarra
cdm
alcatel
pocket
ipad
iphone
mobileexplorer
mobile
maemo
fennec
silk
playbook
)
def mobile_agents
@mobile_agents ||= Regexp.union(DEFAULT_MOBILE_AGENTS)
end
def mobile_request?
(!(request.user_agent.to_s.downcase =~ mobile_agents).nil?) ||
(params[:mobile])
end
end
【问题讨论】:
-
请用您的代码片段澄清您的问题:模型、视图、控制器、路由和用途。
-
你好@cnnr 我编辑了问题并添加了一些代码。
标签: ruby-on-rails