2010-12-11 5 views
1

コントローラ内のメソッドにリンクするlink_toを使用してリンクを作成する方法を教えてください。私が作成したいリンクはこのようなものです:コントローラ内のメソッドにリンクするURLを作成できません

/ミーティング/ 10 /連絡先//send_invite

2 send_invite方法は、連絡先のコントローラです。私はルートファイルを設定する方法まで、次のステップが何であるかは分かりません。私は資源を入れ子にしようとしましたが、これまで運がありませんでした。また、link_toで指定するリンクは何ですか? send_invite_path、meeting_contact_send_invite_pathなどのさまざまな組み合わせを試しましたが、すべてがエラーをスローします。

マイルート・ファイルは、次のようになります。

resources :meetings do 
    resources :contacts, :only => [:send_invite], :as => :send_invite 
end 

しかし、私はsend_invite_pathを呼び出すしようとすると、その後、それは動作しません。

答えて

1

オースティンの答えに拡大します。 routes.rbをconfigにこの営巣/

resources :meetings do 
    resources :contacts do 
     member do 
     post :send_invite 
     end 
    end 
    end 

これらのルート

私は私のルートは
+0

感謝をファイルに何があるかとの私の質問を更新しました

send_invite_meeting_contact POST /meetings/:meeting_id/contacts/:id/send_invite(.:format) {:action=>"send_invite", :controller=>"contacts"} meeting_contacts GET /meetings/:meeting_id/contacts(.:format) {:action=>"index", :controller=>"contacts"} POST /meetings/:meeting_id/contacts(.:format) {:action=>"create", :controller=>"contacts"} new_meeting_contact GET /meetings/:meeting_id/contacts/new(.:format) {:action=>"new", :controller=>"contacts"} edit_meeting_contact GET /meetings/:meeting_id/contacts/:id/edit(.:format) {:action=>"edit", :controller=>"contacts"} meeting_contact GET /meetings/:meeting_id/contacts/:id(.:format) {:action=>"show", :controller=>"contacts"} PUT /meetings/:meeting_id/contacts/:id(.:format) {:action=>"update", :controller=>"contacts"} DELETE /meetings/:meeting_id/contacts/:id(.:format) {:action=>"destroy", :controller=>"contacts"} meetings GET /meetings(.:format) {:action=>"index", :controller=>"meetings"} POST /meetings(.:format) {:action=>"create", :controller=>"meetings"} new_meeting GET /meetings/new(.:format) {:action=>"new", :controller=>"meetings"} edit_meeting GET /meetings/:id/edit(.:format) {:action=>"edit", :controller=>"meetings"} meeting GET /meetings/:id(.:format) {:action=>"show", :controller=>"meetings"} PUT /meetings/:id(.:format) {:action=>"update", :controller=>"meetings"} DELETE /meetings/:id(.:format) {:action=>"destroy", :controller=>"meetings"} 
Allen

0

routes.rbファイルでルートを定義し、ネストするルートを設定する必要があります。名前が変わっても、を使ってroutes.rbファイルに定義することができます。link_to some_name_pathを使用することができます。ルートの詳細については

http://guides.rubyonrails.org/routing.htmlネストされたリソース上の具体的

http://guides.rubyonrails.org/routing.html#nested-resources

+0

あなたを与えるだろう!それは完全に機能します。 – Allen

関連する問題