Home > Programming > ハマりからの復活。

ハマりからの復活。

image

昨日のハマり、解消!なんか記事かいてたら思いついたよ。

敗因は route.rb で解決しようとしていたことだった。そりゃそうだよな。/users/1/ をget した場合は、users コントローラーの show アクションに :id => 1 が渡され、 /users/daruyanagi の場合は :id => ‘daruyanagi’ が渡される。ならば、users コントローラーの show アクションを処理すればよかっただけの話だった。

# users_controller.rb

def show
  @use = nil

  case params[:id]
    when /\d+/
      redirect_to :action => 'show', :id => User.find(params[:id]).login
    else
      @user = User.find_by_login(params[:id])
  end

  if @user != nil
    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @user }
    end
  end
end

:id => ‘数字’ の場合は ユーザー名に変換してリダイレクトするようにしてみた。最後の @user == nil の場合の処理は割愛。どうするのが礼儀正しいのかね?

image

http://localhost:3000/users/daruyanagi/posts でちゃんと、当該ユーザーの投稿一覧も得られるようだ。よっしゃー

あはは…ほんと、屁たれ orz

blog comments powered by Disqus

Home > Programming > ハマりからの復活。

My Friend Feed

http://friendfeed.com/daruyanagi

Google Analyticator

550
 Unique Visitors 
 (1 day) 
Powered By Google Analytics

Return to page top