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... ]