0

こんにちは、私は現在devise gemといくつかの/layout/application.html.erbを使用しています

ただし、このレイアウトは一部のページでのみ使用されるようです。たとえば、足場を生成しましたが、css が読み込まれていません。ビューでもコントローラーでも、この設定が見つからないようです。どんな手掛かり?

次のように表示されるページにロードされます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title></title>
    <meta content="authenticity_token" name="csrf-param" />
<meta content="gfE/9VmHDvDP5BbpAejL57qVZZ0c67a2G/421HvI3Ck=" name="csrf-token" />
    <link href="/assets/application.css?body=1" media="all" rel="stylesheet" />
<link href="/assets/games.css?body=1" media="all" rel="stylesheet" />
<link href="/assets/stats.css?body=1" media="all" rel="stylesheet" />
    <script src="/assets/jquery.js?body=1"></script>
<script src="/assets/jquery_ujs.js?body=1"></script>
<script src="/assets/turbolinks.js?body=1"></script>
<script src="/assets/bootstrap.js?body=1"></script>
<script src="/assets/games.js?body=1"></script>
<script src="/assets/stats.js?body=1"></script>
<script src="/assets/application.js?body=1"></script>

ページ index.erb.html にロードされていません。ご覧のとおり、コントローラーにメソッドがありません。

<h1>Hello!</h1>

  <p><a href="/admins/sign_up">Sign up as Admin</a></p>
  <p><a href="/admins/sign_in">Sign in as Admin</a></p>


  <p><a href="/token">Token Authentication Example</a></p>
  <a href="/games">Games</a>
    <p>Hello!</p>
    <p>david@inkorgen.nu </p>
    <p>Last sign in:2013-08-14 12:36:55 UTC </p>

レイアウトで表示されないコントローラー:

class HomeController < ApplicationController

  before_action :authenticate_user!, only: :token

  def token

  end

  def initialize
    unless @game
      get_games

      #@levels = [] unless @levels
      #get_levels
    end

  end





  def get_levels
    @levels =  Level.where(:game_id=>@game)
  end

  # Use callbacks to share common setup or constraints between actions.
  def get_games
    @games = Game.where(:user_id=>:id)
  end

end

アプリケーションコントローラー:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
  before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit! }
  end

end
4

1 に答える 1

0

index.html.erb をロードするときに、Rails が何かを探してトラバースするインデックス ページのメソッドを home_controller に追加しました。トークン メソッドも更新する必要があります。

def index
    render layout: 'application'
end

def token
  render layout: 'application'
end
于 2013-08-22T07:55:01.817 に答える