Tag: 嵌套表单

Rails 3.2从子视图创建父模型

我很难理解如何做到这一点。 我有两个模型,一个项目和一个课程。 #project.rb belongs_to :course attr_accessible :course_id, :course accepts_nested_attributes_for :course, reject_if: lambda { |a| a[:course_id] == 0 } #course.rb has_many :projects 在Projects#new页面(子对象)上,我想输入新course的名称并让它创建父对象。 这是我在视图中的尝试,但它似乎没有正常工作。 = form_for [@user, @project] do |f| # Other fields = fields_for :course do |builder| = builder.label :name, ‘Course Name’ = builder.text_field :name = f.submit 我稍后将使用这个父对象来创建更多项目,但是现在,让我们假设它不存在。 更新1我已经修改了我的fields_for(根据Ryan的要求): = form_for [@user, @project] do |f| […]

模型和嵌套表单

我正在构建一个为消费者和企业提供function的应用程序。 在创建模型时,我正在考虑拥有用户(消费者)和业务……每个企业也有用户,但用户不一定属于企业。 为了减少冗余,我会在用户和商业中的特定商业信息(地址,电话)中收集姓名,电子邮件等。 class Business < ActiveRecord::Base belongs_to :user end class User < ActiveRecord::Base has_one :business #only if business user, not consumer end 这是配置所需关系的正确方法吗? 然后,当到了商业注册的时候,是否有可能(以及如何)拥有我的业务对象首先的嵌套表单,然后是用户…所以我按顺序收集信息? 我发现的所有示例/信息都显示了首先捕获用户信息的设置,然后是任何子模型。 在我的以下示例中,这是正确的: #grab business info #grab user info 感谢您的时间和帮助。

remove_fields&添加字段链接不在rails 3.0.9中的嵌套表单上工作

我正在关注来自rails casts的Ryan bates neted_forms第1集和第2集,我已经在我的一个项目中实现了嵌套表单function之前它没有任何错误,但是在我的新项目中我使用了rails中的相同引用强制转换,但删除和添加字段不起作用。 这是我的模特 has_many :contacts, :dependent => :destroy accepts_nested_attributes_for :contacts, :reject_if => lambda { |a| a[:contact_name].blank? }, :allow_destroy => true 我正在使用的表单添加字段链接 builder %> 联系的部分 Contact Name Mobile Number Email Address Application helper我写了这个方法 # Method for removing fields def link_to_remove_fields(name, f) f.hidden_field(:_destroy) + link_to_function(name, “remove_fields(this)”) end # Method for Adding fields def link_to_add_fields(name, f, […]

嵌套表单更新操作产生重复结果

在嵌套表单的更新操作期间,它似乎创建了新的嵌套记录,而不是更新当前嵌套的记录。 这就是我的控制器的样子: class ApplicationsController “You have now applied!” end def edit @application = Application.find(params[:id]) @answers = [] @job.questions.each do |question| @application.answers.each do |answer| @answers < “You have updated your application!” end def destroy Application.find(params[:id]).destroy flash[:success] = “Application Deleted.” redirect_to root_url end def show @application = Application.find(params[:id]) @answers = [] @job.questions.each do |question| @application.answers.each do |answer| […]

nested_form,has_many:through,更新连接模型的属性

我正在使用ryan bates的插件nested_form,我一直在尝试为has_many编写表单:通过关系。 我有3个型号: Profile has_many :memberships has_many :organizations, :through => :memberships accepts_attributes_for :organizations attr_accessible :organization_attribtues Membership has_many :profiles has_many :organizations Organization has_many :memberships has_many :profiles, :though => :memberships 下面的表单用于配置文件,但组织嵌套在其中。 我可以通过f.fields_for:组织创建有关组织的信息,但后来我不清楚如何更新特定于组织成员身份的信息。 具体来说,成员资格表上有一个title属性(我在下面评论它,因为它会为组织抛出一个错误的未定义方法`title’)。 任何帮助都会非常感激! 谢谢。 = f.fields_for :organisations do |org| = org.input :name, :label => “Name of the Organization” = org.input :title, :label => “Your role” = […]

accepts_nested_attributes_for:我做错了什么

我尝试在rails4中创建一对多连接。 但是,虽然我没有收到错误,但不存储嵌套属性。 我究竟做错了什么? 站的模型 class Station < ActiveRecord::Base has_many :adresses accepts_nested_attributes_for :adresses end ADRESS-型号 class Adress < ActiveRecord::Base belongs_to :station end Station-Controller类StationsController <ApplicationController def new @station = Station.new @station.adresses.build end def create @station = Station.new(station_params) @station.save redirect_to @station end def index @stations = Station.all end private def station_params params.require(:station).permit(:name, adresses_attributes: [ :url ]) end end […]

如何将数组传递给Rails中的fields_for?

我想在关联中的记录子集上使用fields_for 。 我有Month模型, has_many :payments 。 但在我看来,我只想在其中支付部分款项。 例如: – fields_for @month.payments.large 这不起作用。 我可以将一组记录传递给fields_for ,而不是通常的符号( fields_for :payments )方法吗?

rails:create Parent,如果不存在,则创建子记录

以下任何最佳做法?: 我有制造商型号has_many库存 在我的新库存表单中,我想要一个映射到Manufacturer.name的字段,以便当一个提交新的库存表单时,应用程序: 从表单中搜索具有“名称”的制造商 如果存在,则将id分配给@ inventory.manufacturer_id并保存@inventory 如果它不存在然后从表单创建带有’name’的制造商,将id分配给@ inventory.manufacturer_id并保存 validation工作在新的库存表单上 如果库存表单在“名称”以外的字段上validation失败 ‘name’字段将重新填充用户输入的内容(但除非表单通过validation,否则不会创建新的制造商)

尝试在Rails中保存嵌套属性时的ActiveRecord :: AssociationTypeMismatch

我阅读了很多关于`has_one关系和嵌套属性的页面,但是没有成功地完成这项工作。 任何帮助都会很棒。 每个用户都有_one网络。 我正在尝试以一种forms收集两个属性的信息,但ActiveRecord::AssociationTypeMismatch in UsersController#createexceptionActiveRecord::AssociationTypeMismatch in UsersController#create 传递的参数是: {“utf8″=>”✓”, “authenticity_token”=>”I54tm1ovzHEHaXbBLTT+5tqBJv2795sKg978ot3HDBc=”, “user”=>{“name”=>”Bilbo Baggins”, “email”=>”bilbo@lotr.com”, “password”=>”[FILTERED]”, “password_confirmation”=>”[FILTERED]”, “network”=>{“home_lng”=>”-87.91894912719727″, “home_lat”=>”43.03812464542969”, “center_lng”=>”-87.91894912719727″, “center_lat”=>”43.03812464542969”, “radius”=>”500”}}, “commit”=>”Sign up”} 我猜测Network的参数必须以某种方式显示为network_attributes但我不知道如何。 控制器: def create @user = User.new(params[:user]) if (@user.save) sign_in @user flash[:success] = “One ring to rule them all!” redirect_to @user else @title = “The journey begins…” render ‘new’ end end 视图: […]

如何访问嵌套的params

我想得到一些嵌套的参数。 我有一个订单,有许多项目,这些项目都有一个类型。 我想从控制器创建方法获取type_id参数。 @order = Order.new(params[:order]) @order.items.each do |f| f.item_type_id = Item_type.find_by_name(f.item_type_id).id end 原因是我希望用户能够在视图中创建新的item_types。 当他们这样做时,我使用AJAX调用将它们添加到数据库中。 当他们发布表单时,我在item_type_id参数中获取item_type的名称,我想找到正确的item_type并将id设置为