Note that there are some explanatory texts on larger screens.

plurals
  1. PORails 3 routing error in a relationship in a has_many => through association
    primarykey
    data
    text
    <p>I have my models setup as follows: </p> <pre><code> class User has_many :memberships, :dependent =&gt; :destroy has_many :groups, :through =&gt; :memberships Class Group has_many :memberships, :dependent =&gt; :destroy has_many :users, :through =&gt; :memberships Class Membership attr_accessible :user_id, :group_id belongs_to :user belongs_to :group </code></pre> <p>My MembershipController#create</p> <pre><code>def create @membership = current_user.memberships.build(:group_id =&gt; params[:group_id]) if @membership.save flash[:notice] = "You have joined this group." redirect_to :back else flash[:error] = "Unable to join." redirect_to :back end end </code></pre> <p>I have resources :memberships in my routes so that it can find the create action.</p> <p>Finally in my Group#show action I want a user to be able to join a group. So I created this form_tag</p> <pre><code>&lt;%= form_tag(membership_path) do %&gt; &lt;%= hidden_field_tag @group.id %&gt; &lt;%= submit_tag "Join Group"%&gt; &lt;% end %&gt; </code></pre> <p>This returns the following error:</p> <pre><code>Routing Error No route matches [POST] "/memberships/1" </code></pre> <p>I have run a rake routes to try and understand what I am missing here: </p> <p>memberships GET /memberships(.:format) {:action=>"index", :controller=>"memberships"} POST/memberships(.:format) {:action=>"create", controller=>"memberships"} new_membership GET /memberships/new(.:format) {:action=>"new",controller=>"memberships"} edit_membership GET /memberships/:id/edit(.:format){:action=>"edit", controller=>"memberships"}</p> <p>membership GET /memberships/:id(.:format) {:action=>"show", :controller=>"memberships"} PUT /memberships/:id(.:format){:action=>"update", :controller=>"memberships"} DELETE /memberships/:id(.:format) {:action=>"destroy", :controller=>"memberships"}</p> <p>Anyone see the error of my ways?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload