1

私はこのルートを持っています:

scope :module => :mobile, :as => :mobile do
    constraints(:subdomain => /m/) do
      devise_for :users, :path => "", :path_names =>
               { :sign_in => "login", :sign_out => "logout",
                 :sign_up => "signup" },
                 :controllers => {:sessions => "mobile/sessions"}

      resources :home

      resources :disclosures # Will have new, get, look up a disclosure
    end
  end

そしてこのコントローラー:

class Mobile::SessionsController < ApplicationController
  def create
  end
end

そしてこのディレクトリの下:/app/views/mobile/sessions/new.html.haml

これは、new.html.haml ファイル内のコードです。

= content_for :page_title do
  = t :page_title_login
= content_for :primary_content do
  #login_box
    .span6
      #traditional-login
    .span4
= content_for :before_closing_body_tag do
  configure_login_form(#{request.xhr?.to_s.downcase});

しかし、ログインした後、ブラウザに次のエラーが表示されます。

Missing template mobile/sessions/create, application/create with {:locale=>[:en, :en], :formats=>[:html], :handlers=>[:haml, :erb, :builder]}. Searched in: * "/Users/alexgenadinik/projects/cmply/cmply-app/app/views" * "/Library/Ruby/Gems/1.8/gems/ckeditor-3.6.3/app/views" * "/Library/Ruby/Gems/1.8/gems/kaminari-0.13.0/app/views" * "/Library/Ruby/Gems/1.8/gems/devise-2.0.4/app/views"

これは、システムが new.html.haml ファイルを持っていないと考えていることを示唆しています。しかし、私は明らかにそのファイルを持っています。だから私は何が問題なのか分かりません。そして、私が間違ったことを考えますか?

前もって感謝します!!

4

1 に答える 1

3

ここでのエラーは、new.html.haml ファイルが見つからないということではありません。create.html.haml または create アクションからのリダイレクトがありません。通常、ログイン後にリダイレクトするため、コントローラーのアクションを次のように変更してみてください。

class Mobile::SessionsController < ApplicationController
  def create
    redirect_to root_url
  end
end

または、訪問者をどこにでも巻き込みたい場所。

于 2012-04-18T14:02:06.660 に答える