0

我做了这个 HAML 链接:

= link_to "Create Profile", signup_path 

我在想它应该可以工作,因为这个网址有效:

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.rb文件来判断您不会拥有该signup_path路线。

您正在寻找的路线将更像users_signup_path,因为设计喜欢将其路线包装在这样的名称空间中。

于 2012-04-18T18:20:28.773 回答
2

更改signup_pathnew_user_registration_path

于 2012-04-18T18:46:07.310 回答
0

尝试放置 app_main.signup_path。似乎在不同的引擎上被调用。我以前遇到过这个问题。

并按照他人的指示,例如检查您的路线。

于 2012-04-18T18:29:44.610 回答