0

所以我的路线是:

match '/user/:username/' => 'user/account/home#index', via: [ :get ], as: :user_view, constraints: UserConstraint

控制器的代码是:

class User::Account::HomeController < User::ApplicationController
    def index
        @account = User.find_by_username(params[:username])
    end
end

但是,当我调用该 url(即http://example.com/user/xerax)时,这是 rails 向我抛出的错误:

No route matches {:controller=>"user/account/home", :username=>nil}

编辑:我正在使用 Rails 3.2.13

4

1 回答 1

0

我的一个朋友(@readingr_uk)向我展示了如何解决这个问题。我将路线从使用 :username 更改为使用 :id

match '/user/:id/' => 'user/account/home#index', via: [ :get ], as: :user_view, constraints: UserConstraint
于 2013-09-22T22:11:05.393 回答