0

このHAMLリンクを作成しました:

= link_to "Create Profile", signup_path 

このURLが機能するので、機能するはずだと思っていました:

http://m.cmply.local:8800/signup

しかし、代わりに次のエラーが発生します。

undefined local variable or method `signup_path' for #<#<Class:0x129a08190>:0x129a027e0>

これが私のroutes.rbスニペットです

  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

ここにレーキルートのスニペットがあります

{:action=>"create", :controller=>"registrations"}
 new_user_registration GET    /signup(.:format)

なぜこれが起こるのでしょうか?

ありがとう!

4

3 に答える 3

2

これは、Rails が "signup_path" を認識していないために発生しています。bundle exec rake routes実行して、実際にそれらのルートにあることを確認することをお勧めします。あなたのファイルをsignup_path見ると、あなたがルートを持っていないことがわかります。routes.rbsignup_path

users_signup_pathdevise はルートをそのような名前空間にラップするのが好きなので、あなたが探しているルートはより似たものになるでしょう。

于 2012-04-18T18:20:28.773 に答える
2

signup_pathに変更new_user_registration_path

于 2012-04-18T18:46:07.310 に答える
0

app_main.signup_path を配置してみてください。別のエンジンで呼び出されているようです。私は以前にこの問題に遭遇しました。

また、ルートを確認するなど、他の人の指示に従います。

于 2012-04-18T18:29:44.610 に答える