0

我有 3 个模型。用户、组和成员资格。User 和 Group 通过 Membership 具有 has_many 关系。我希望能够通过单击组显示视图中的加入按钮来创建成员资格。

Groups 控制器上的 Show 视图的一部分

= simple_form_for @membership, :url => memberships_path do |f|
  = f.input :group_id, :value => @group.id, :as => :hidden
  = f.submit "Join This Group!"

我在组显示操作中设置了@membership,@membership = Membership.new 只是想弄清楚我需要做什么才能将上面的内容传递给成员控制器上的创建操作。现在它似乎正试图将其传递给成员控制器中的 show 动作。感谢您的任何帮助,您可以提供。

编辑:问题不在于这没有传递给会员资格。那是它没有将 group_id 传递给成员资格。以下是解决我的问题

= simple_form_for @membership do |f|
  = f.input :group_id, :input_html => { :value => @group.id }, :as => :hidden
  = f.submit "Join This Group!"
4

1 回答 1

1

如果您将 @user 实例变量设置为当前用户 ID,则可以使用

 simple_form_for [@user, @membership] do |f|
于 2012-07-05T00:15:32.180 回答