rails:3949
From: dezawa <dezawa@a...>
Date: Tue, 10 Dec 2013 16:13:10 +0900
Subject: [rails:3949] Re: URLからcontroller名を省きたい
ちゃんとテストはしていませんが > ② > 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/
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... ]