[前][次][番号順一覧][スレッド一覧]

rails:3950

From: Ayako Arakane <arakane@r...>
Date: Wed, 11 Dec 2013 12:30:30 +0900
Subject: [rails:3950] Re: URLからcontroller名を省きたい

出沢さん

以下の方法でうまく出来ました!
---------------------------------------------------
ActionController::Routing::Routes.draw do |map|

  category_urls = ArticleCategorie.all.map(&:category_url)

  category_urls.each{|category|
     map.connect "/#{category}/:id" ,
           :controller => :articles,
           :action => category
  }
----------------------------------------------------

大変助かりました。ありがとうございました。

荒金


> ちゃんとテストはしていませんが
> 
> > ��
> > routes.rbにて汎用的にできないか。
> 
> routes.rbにて
> 
> ActionController::Routing::Routes.draw do |map|
> 
>   category_urls = ArticleCategorie.all.map(&:category_url)
> 
>   category_urls.each{|category|
>      map.connect "/#{category}/:id" ,
>            :controller => :articles,
>            :action => category
>   }
> 
> でどうかなぁ。
> 
> 「blockの最初で DBにアクセスしてもエラーにならずにサーバが
> 立ち上がる」所までは試しました。
> 
>                                        出沢
> PS
> なんか変かなぁ
> 
>   users = User.all.map{ |user| [user.id,user.login]}
>   users.each{|id,login|
>      map.connect "/#{login}" ,
>            :controller => "users",
>            :action => :show,
>            :id => id
>   }
> 
> で、 localhost:3000/dezawa でアクセスしてみると、controllerには
> 届いているのですが
>   Processing UsersController#show ( ... ) [GET]
>   Parameters: {"id"=>1}
>     :
>   Rendering template within layouts/application
>   Rendering users/show
>     :
> ActionView::TemplateError (Called id for nil, which would mistakenly be
> 4 -- if you really wan
> ted the id of nil, use object_id) on line #2 of
> app/views/users/show.html.erb:
> 1: ユーザ別設定表
> 2: <% form_for(@user) do |f| -%>
> 3:   <%= f.error_messages %>
> 4: <% end %>
> 5: <%= link_to '修正', edit_user_path(@user) %>
> 
> @user が nilっぽい
> 
> localhost:3000/users/1 なら期待通りの表示。
> Renderingまでは logは同じなのに。
> 
> 試して駄目だったら忘れてください。
> 
> 
> 
> --
> ML: rails@r...
> 使い方: http://QuickML.com/


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3948 2013-12-10 06:16 [arakane@r...        ] URLからcontroller名を省きたい           
      3949 2013-12-10 08:13 ┗[dezawa@a...         ]                                       
->    3950 2013-12-11 04:30  ┗[arakane@r...        ]