首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >父窗体嵌套Rails

父窗体嵌套Rails
EN

Stack Overflow用户
提问于 2012-05-18 02:18:33
回答 1查看 209关注 0票数 1

我有一个嵌套到User模型的Subscription模型。

我正在尝试创建一个表单,以便在/subscriptions/new下添加新订阅

此表单上显示的字段保存在父User模型中。

在我的new操作中,我只是简单地

代码语言:javascript
复制
@subscription = Subscription.new

问题是如何在订阅的新form_for中添加这个父User的字段?订阅表单不知何故是父元素的嵌套。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-18 07:31:23

如果您将用户和订阅模型中的代码包含在您的答案中,这将非常有帮助,这样我们就可以看到它们之间的关系。根据你的评论,听起来你在做以下事情:

代码语言:javascript
复制
class User < ActiveRecord::Base
  has_many :subscriptions
  accepts_nested_attributes_for :subscription 
end

class Subscription < ActiveRecord::Base
  belongs_to :user
end

听起来您想要以相同的形式捕获用户和订阅的数据。为此,您必须嵌套表单,在嵌套表单上使用fields_for (请注意上面的accepts_nested_attributes_for

代码语言:javascript
复制
<%= form_for @user do |user_form|%> 
  <%= user_form.text_field :phone %>
  <%= user_form.fields_for :subscription @user.subscription.new do |subscription_form|%>
    <%= subscription_form.text_field :name %>
  <% end %>
<% end %>

然后,在控制器的create方法中,您可以简单地调用:

代码语言:javascript
复制
@user = User.create(params[:user])

这段代码没有经过测试,我对你的设置做了很多假设,但希望这足以让你上手。有关更多信息,请访问http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-fields_for上的fields_for文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10641304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档