這裏是我的路線:嘗試路由到用戶配置文件:不能沒有一個ID找到用戶
Stynyl::Application.routes.draw do
resources :things
devise_for :users
get '/about', to: 'pages#about'
root 'things#index'
get 'users/:username' => "users#show"
end
下面是用戶控制:
class UsersController < ApplicationController
def show
@user = User.find_by_name(params[:username])
end
end
這裏是我的用戶/ show.html .erb
<p>
<strong><%= @user.username %></strong>
</p>
我知道這個視圖是基本的,但我只想看看它是否會打印出用戶的名字。
我使用用戶名'delacram'創建了一個用戶。當我輸入localhost:3000/users/delacram時,出現標題中顯示的錯誤。
有什麼問題?
我的用戶模型
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :things
validates :name, presence: true
validates :username, presence: true
validates :email, presence: true
end
我已經用第二個選項,使用show方法。但是,如何向用戶名列添加索引? @Damien Roche –
太好了。我更喜歡第二個選項,它是一個簡單的控制器。在這裏看到有關在現有列上創建索引的很好的解釋:http://stackoverflow.com/questions/15881749/adding-index-after-adding-column-rails(簡單的遷移) –
我現在得到一個錯誤這說''未定義的方法'用戶名'爲零:NilClass「' –