繁体   English   中英

ui-router,devise和用户个人资料页面

[英]ui-router, devise and a user profile page

我正在尝试创建用户个人资料页面,但是遇到了一些问题。 我在项目中使用Devise进行用户处理,并且使用AngularJS和ui-router以及显然是RoR。

我想做的是在访问以下URL时显示用户的个人资料页面http://localhost:3000/users/1

现在,当我访问该URL时,我会看到我的首页(views / layout / application.html.haml),这显然是错误的。

在我的mainCtrl.js中

$stateProvider
  .state('home', {
    url: '',
    templateUrl: '../assets/angular-app/templates/_search.html',
    controller: 'searchCtrl'
  })
  .state('users.profile', {
    url: '/users/{id}',
    templateUrl: '../assets/angular-app/templates/_profile.html'
  })

当我转到localhost:3000时,home状态起作用

但是就像我说的那样,当我转到http://localhost:3000/users/1 ,不会插入_profile.html模板,如果我输错模板文件名,甚至都不会出错。 因此,看起来国家行动什么也没做。

我的期望是_profile.html模板已加载到

%div{"ui-view" => ""}

在我的application.html.haml页面上。 但是它将插入_search模板。

这就是routes.rb,如果有关系的话,

Rails.application.routes.draw do

  devise_for :users, :controllers => { :omniauth_callbacks => "callbacks" }

  get 'sessions/create'
  get 'sessions/destroy'

  devise_scope :user do
    root to: 'application#angular'
    match '/sessions/user', to: 'devise/sessions#create', via: :post
  end

  resources :users do
    member do
      get :following, :followers
    end
  end

  resources :relationships,       only: [:create, :destroy]

  get 'login/show'
  get 'auth/:provider/callback', to: 'sessions#create'
  get 'auth/failure', to: redirect('/')
  get 'signout', to: 'sessions#destroy', as: 'signout'

  resources :sessions, only: [:create, :destroy]
  resources :movies, only: [:create, :destroy, :index, :show]

end

通过研究一些示例,我注意到了主题标签。 当我在网址中添加#时,路由状态开始起作用。 然后,我使用启用了html5mode的方法来删除#,现在它可以正常工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM