in routes.rb 我有
Rails.application.routes.draw do
get 'password_resets/new'
get 'password_resets/edit'
get 'sessions/new'
get 'account_activation/edit'
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'sign_up' => 'user#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
post 'sign_up', to: 'user#create'
resources :user
resources :account_activation, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resources :purchases, only: [:create, :destroy]
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
我在user_controller中定义
class UserController < ApplicationController
before_action :logged_in_user, only: [:show, :edit, :update]
before_action :correct_user, only: [:show, :edit, :update]
def show
@user = User.find_by(id: params[:id])
@purchases = @user.purchases.paginate(page: params[:page])
@purchase = current_user.purchases.build
end
def index
if logged_in?
redirect_to root_url
else
redirect_to sign_up_path
end
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
@user.send_account_activation_email
flash[:info] = 'check'
redirect_to root_url(@user)
else
render 'new'
end
end
def edit
end
def chart
end
def update
if @user.update_attributes(user_params)
flash[:success] = 'updated'
redirect_to @user
else
render 'edit'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
def correct_user
@user = User.find_by(id: params[:id])
redirect_to(root_url) unless current_user?(@user)
end
end
它们都有一个视图,但是当我在浏览器轨道中键入 localhost:300/user/(ID(/chart 时,告诉我找不到路由匹配项,但用户/(ID(/编辑有效
当我使用耙子路线时 图表不显示在路线中
我看到 MHartl 红宝石导轨教程屏幕投射 他做任何事情都是这样的 问题出在哪里?!
resources :user do
member do
get :chart
end
end
定义这样的图表操作 阅读导轨指南中的routes
并检查member
和collection
resources :user
仅创建 7 个默认路由检查 2.2 http://guides.rubyonrails.org/routing.html