2013-06-02 89 views
0

我使用友好的ID,允許自定義查詢,從用戶名,在我的Rails應用程序。Rails的友好ID Fullstops

所以說用戶的用戶名是loremipsum

軌道會顯示此http://localhost:3000/users/loremipsum,並且這工作完全正常

而是說用戶的用戶名是lorem.ipsumlorem-ipsum

我如何才能讓軌道顯示, lorem.ipsumlorem-ipsum在url中,因爲它目前需要第一部分,然後說Couldn't find User with id=lorem

我的用戶控制器

class UsersController < ApplicationController 


    def index 

    @users = User.all 


    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @movies } 
    end 
    end 

    def search 

    @movies = @search.result 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @movies } 
    end 
    end 
    def show 

    @user = User.find(params[:id]) 

    @movies = @search.result 

    end 

    def sign_up 
    @user = User.new 

    end 

    def sign_in 

    end 
    def create 

    @user = User.create(params[:user]) 
    if @user.save 
     sign_in @user 
     flash[:success] = "Welcome to the Sample App!" 
     redirect_to @user 
    else 
     render 'new' 
    end 
    end 

def edit 

    @user = @current_user 
end 

    def update 


    if @user.update_attributes(params[:user]) 
     sign_in @user 
     flash[:success] = "Profile updated" 
     redirect_to @user 
    else 
     render 'edit' 
    end 
    end 



    def destroy 

    User.find(params[:id]).destroy 
    flash[:success] = "User destroyed" 
    redirect_to users_path 
    end 


    def edit 

    end 

end 

回答

0

使用散熱片實現處理它,你應該能夠確定該型號:

class User < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :username, use: :slugged 

    def normalize_friendly_id(string) 
    super.upcase.gsub("-", ".") 
    end 
end 

參考:customizing friendly_id slugs

變化User.findUser.friendly.find在控制器

User.friendly.find(params[:id]) 

Quick Start Using Friendly_id

+0

我仍然得到錯誤 找不到用戶使用id = LOREM – PMP

+0

和讀取存有作爲格式 – PMP

+0

有你的屬性毛坯:在您的用戶模型(塞字符串)? –

0

這很可能是一個路由問題,因爲Rails是通過lorem通過爲params[:id]ipsum作爲格式。

https://stackoverflow.com/a/7781314/308701介紹瞭如何禁用此功能,但是需要注意的是,你將不能夠要求其他格式,如xmljson等等