2009-09-17 9 views
8

私はUserモデルを持っています。私が行う場合:その後、レールでカスタムパスを定義する方法は?

def my_action 
    @user = User.new 
end 

<% form_for(@user) do |f| %> 

私はそれがmap.resources :users.に行くマッピングされていないため意味をなさない

undefined method `users_path' for #<ActionView::Base:0x1b4b878> 

を取得..しかし、私はしたくありません私はすべてのリソースを必要としないので、この方法です。

私のルートにこのuser_pathメソッドを定義するにはどうすればよいですか?

答えて

5

customize restful routesでもかまいません。たとえば、私のアプリケーションでは、特定のコントローラーにはインデックスと表示アクションだけが適切です。

map.resources :announcements, :only => [:index, :show] 

ことがより適切だ場合にも:exceptを使用することができます。私のroutes.rbをファイルでは、私はこのようないくつかのルートがあります。

3

あなたはこのようなあなたのroutes.rbをファイルにカスタムルートをマップすることができます...これはあなたが探しているusers_pathヘルパーを与える

map.users '/users', :controller => 'user', :action => 'index' 

+0

感謝。これは大会ですか?インデックスへのルートと同様に、model_pathですか? – marcgg

+0

これは間違っています。これは間違った動作になるので投稿フォームを解決しません。 map.resources:users、:only => [:new、:create]は適切な規約です。 –

3

私はroutes.rbをしてヘルパーを作成する方法を探してここに来たので、ここでそれを行う方法は次のとおりです。

get '/users/:id/' =>'users#show', :as => :user 
関連する問題