Ruby on rails has\u many=>;中关系中的Rails 3路由错误;通过交往

Ruby on rails has\u many=>;中关系中的Rails 3路由错误;通过交往,ruby-on-rails,ruby-on-rails-3,has-many-through,Ruby On Rails,Ruby On Rails 3,Has Many Through,我的模型设置如下: class User has_many :memberships, :dependent => :destroy has_many :groups, :through => :memberships Class Group has_many :memberships, :dependent => :destroy has_many :users, :through => :memberships Class Membership a

我的模型设置如下:

 class User
 has_many :memberships, :dependent => :destroy
 has_many :groups, :through => :memberships

 Class Group
 has_many :memberships, :dependent => :destroy
 has_many :users, :through => :memberships

 Class Membership
 attr_accessible :user_id, :group_id
 belongs_to :user
 belongs_to :group
我的会员控制器#创建

我有资源:我的路由中的成员身份,以便它可以找到创建操作

最后,在我的群组中,我希望用户能够加入群组。所以我创建了这个表单标签

<%= form_tag(membership_path) do %>
    <%= hidden_field_tag @group.id %>
    <%= submit_tag "Join Group"%>
<% end %>
我运行了一个rake routes,试图了解我在这里遗漏了什么:

成员身份获取/成员身份(:格式){:操作=>“索引”,:控制器=>“成员身份”} 发布/成员身份(:格式){:操作=>“创建”,控制器=>“成员身份”} new_membership GET/memberships/new(:format){:action=>“new”,controller=>“memberships”} edit_membership GET/memberships/:id/edit(:format){:action=>“edit”,controller=>“memberships”}

成员身份获取/memberships/:id(:format){:action=>“show”,:controller=>“memberships”} PUT/memberships/:id(:format){:action=>“update”,:controller=>“memberships”} DELETE/memberships/:id(:format){:action=>“destroy”,:controller=>“memberships”}


有人看到我的错误吗?

我快速地瞥了一眼;
不应该是
”或

您不想发布到会员身份路径而不是会员身份路径吗?错误似乎表明它找不到成员资格的发布路径,因为实际上没有路径:POST的成员资格,:only成员资格。

路径是“new\u membership”对吗?如果您正在执行表单标记,请使用新的表单成员路径。或者您可以始终使用表单,并通过视图中的分部进行渲染。

就是这样。为了清楚起见,请使用
form\u标签(memberships\u path)
Steve的答案同样正确。
<%= form_tag(membership_path) do %>
    <%= hidden_field_tag @group.id %>
    <%= submit_tag "Join Group"%>
<% end %>
Routing Error

No route matches [POST] "/memberships/1"