标签: nested-forms

使用accepts_nested_attributes_for在rails中使用三级嵌套表单

我一直在尝试accepts_nested_attributes_for在我的rails应用程序中实现动态多模型表单.我一直在关注Eloy Duran的复杂形式示例,该示例显示了2级实现,但我一直在尝试将其扩展到3个级别.是否支持accepts_nested_attributes_for3级表格?谁能告诉我如何扩展示例应用程序?

我已经让第三级的javascript部分工作(并不总是因某种原因而工作),但是我无法保存第3级对象.它为每个属性传递的参数名称是:

 greatgrandparent[grandparent_attributes][0][parent_attributes][0][object_attributes][1249277008434][attribute] 
Run Code Online (Sandbox Code Playgroud)

如果greatgrandparent是表单所用的对象,祖父母是第一级,父级是第二级,对象是第3级(我想要保存的那个).

谢谢,我感谢任何指针.

javascript forms ajax ruby-on-rails nested-forms

7
推荐指数
1
解决办法
5662
查看次数

使用Formtastic的semantic_fields_for和has_many关联

我正在尝试使用formtastic创建一个嵌套的表单.我在下面列出了我的代码,但遇到了一些问题,我也在下面列出了这些问题.有什么建议?谢谢.

# Home model
class Home < ActiveRecord::Base
  has_many :home_members
  accepts_nested_attributes_for :home_members, :reject_if => :all_blank, :update_only => true, :allow_destroy => true
end


# Form builder in members/new.html.erb
<%= semantic_form_for @home, :url => home_members_path(@home), :html => { :method => :post }, :remote => true do |f| %>
  <%= f.inputs do %>
    <%= f.semantic_fields_for :home_members do |h| %>
    <%= h.input :name %>
    <%= h.input :email %>
    <%= h.input :birthday, :as => :string %>
  <% end %>
<% end %>

# members_controller's new …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-forms formtastic

7
推荐指数
1
解决办法
2万
查看次数

Rails嵌套表单不能保存孩子

我的用户模型has_many响应.我正在尝试创建一个嵌套表单来创建一个具有三个子响应的新用户.我的代码看起来与Rails强制转换相同,但是虽然它会保存用户,但它不会保存它们的响应.任何人都可以看到有什么问题?

users_controller.rb

class UsersController < ApplicationController
  def new
    @user = User.new
    3.times{@user.responses.build}
    @responses = @user.responses
  end

  def create
    @user = User.new(user_params)
    if @user.save
      redirect_to @user #todo: where do we want to redirect?
    else
      render 'new'
    end
  end

  def show
    @user = User.find(params[:id])
    @responses = @user.responses
  end

  def index
    @users = User.all
  end

  private

    def user_params
      params.require(:user).permit(:username, :email, :responses)
    end
end
Run Code Online (Sandbox Code Playgroud)

user.rb

class User < ActiveRecord::Base
  attr_accessor :responses_attributes
  has_many :responses, :dependent => :destroy
  accepts_nested_attributes_for :responses#, :reject_if => lambda { |a| a[:content].blank? …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails has-many nested-forms

7
推荐指数
1
解决办法
2466
查看次数

rails nested form always "POST" even on edit mode? caused route error

i work on an application which have 1 module with many to many relationship, its working fine, i can create my "unit" with nested form, but i got 1 problem when i am on edit state, when i hit submit button it throw me an error.

No route matches [POST] "/units/27"
Run Code Online (Sandbox Code Playgroud)

i thought the action should be patch instead of post?? i inspect the generated html in browsers, and i can see there is a hidden field named "_method" with …

ruby ruby-on-rails nested-forms nested-attributes ruby-on-rails-4

7
推荐指数
1
解决办法
294
查看次数

Rails嵌套表单错误,子必须存在

我正在关注教程:http://www.amooma.de/screencasts/2015-01-22-nested_forms-rails-4.2/

我正在使用Rails 5.0.0.1

但是当我注册酒店时,似乎酒店类别必须存在.

1错误禁止此酒店被保存:类别酒店必须存在

我的酒店型号:

class Hotel < ApplicationRecord
    has_many :categories, dependent: :destroy
    validates :name, presence: true
    accepts_nested_attributes_for :categories, reject_if: proc { |attributes| attributes['name'].blank? }, allow_destroy: true
end
Run Code Online (Sandbox Code Playgroud)

我的分类型号:

class Category < ApplicationRecord
  belongs_to :hotel
  validates :name, presence: true
end
Run Code Online (Sandbox Code Playgroud)

我的酒店管理员:

def new
    @hotel = Hotel.new
    @hotel.categories.build
end

def hotel_params
   params.require(:hotel).permit(:name, categories_attributes: [ :id,:name])
end
Run Code Online (Sandbox Code Playgroud)

结束我的_form.html.erb

<%= f.fields_for :categories do |category| %>  
    <div class="room_category_fields">  
      <div class="field">
        <%= category.label :name %><br>
        <%= category.text_field :name %>
      </div>
    </div> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-forms

7
推荐指数
1
解决办法
2807
查看次数

如何在simple_form中处理嵌套关联中的选定值?

我有一个Profile模特,那个accepts_nested_attributes_for :grades.

我的Grade模型看起来像这样:

# == Schema Information
#
# Table name: grades
#
#  id         :integer          not null, primary key
#  subject    :string
#  result     :string
#  grade_type :integer
#  profile_id :integer
#  created_at :datetime         not null
#  updated_at :datetime         not null

class Grade < ActiveRecord::Base
  belongs_to :profile

  enum grade_type: { csec: 0, cape: 1, sat: 2, g7: 3, g8: 4, g9: 5, g10: 6, g11: 7, g12: 8, g13: 9 }
end
Run Code Online (Sandbox Code Playgroud)

在我 …

ruby-on-rails nested-forms nested-attributes simple-form

7
推荐指数
1
解决办法
193
查看次数

如何在ReactJS中使用嵌套表单?

考虑一下这段代码snnipet:

<%= form_for @survey do |f| %>
  <%= f.error_messages %>
 <p>
   <%= f.label :name %><br />
   <%= f.text_field :name %>
 </p>
  <%= f.fields_for :questions do |builder| %>
    <%= render "question_fields", :f => builder %>
  <% end %>
 <p><%= f.submit "Submit" %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

它会返回我有一些哈希(rails dev会知道).我的问题是如何在ReactJS中制作这种格式?接收与Rails默认完全相同的参数.至于现在,我只能在JSX中使用HTML标签.目前我在控制器中接收params并根据需要对它们进行排序(这看起来很糟糕).我已经测试了一些npm软件包,但是他们的文档似乎没有帮助!其中包括:https: //www.npmjs.com/package/react-rails-form-helpers

https://www.npmjs.com/package/react-form

这有什么npm包吗?使用react_on_rails gem和Rails 5稳定

ruby-on-rails nested-forms node.js reactjs react-on-rails

7
推荐指数
1
解决办法
853
查看次数

Rails嵌套对象表单*_attributes

我正在使用Rails 2.3.2,并试图让嵌套的对象表单正常工作.我已经将我的问题缩小到Rails未设置我的嵌套表单元素以及启动accepts_nested_attributes_for处理所需的*_attributes的问题.

我的型号代码是:

class Person < Party
  has_one :name, :class_name => "PersonName"
  accepts_nested_attributes_for :name, :allow_destroy => true
end

class PersonName < ActiveRecord::Base
  belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)

我的视图代码看起来像这样(我正在使用HAML):

%h3 New customer
= error_messages_for :person, :person_name, :name, :country

- form_for :person, :url => collection_url, :html => {:class => 'MainForm'} do |person_form|

  - @person.build_name unless @person.name
  - person_form.fields_for :name do |name_form|
    = name_form.label :given_name, "First Name:"
    = name_form.text_field :given_name

    = name_form.label :family_name, "Last Name:"
    = name_form.text_field :family_name

  = hidden_field_tag :inviter_id, params[:inviter_id]
  = hidden_field_tag :inviter_code, …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-forms

6
推荐指数
1
解决办法
6071
查看次数

使用simple_form,nested_form和twitter-bootstrap嵌套表格式

更新: 我在做了一些挖掘并意识到这可能是twitter-bootstrap导致问题后更新了这个.

这是我的嵌套表单的粗略版本:

<%= simple_nested_form_for @user, :html => { :class => 'form-horizontal' } do |f| %>
  <fieldset>
    <%= f.input :email %>
    <%= f.input :name_first %>
    <%= f.input :name_last %>

            <table class="table table-striped">
              <thead>
                <tr>
                  <th>Active</th>
                  <th>Company</th>
                  <th>Role</th>
                  <th>Actions</th>
                </tr>
              </thead>
              <tbody>
                  <%= f.simple_fields_for :roles, :wrapper_tag => :tr do |role_form| %>
                    <td><%= role_form.hidden_field :id %><%= role_form.input :active, :label => false, :wrapper => false %></td>
                    <td><%= role_form.association :company, :label => false, :wrapper => false %></td>
                    <td><%= role_form.input :role, :label => false, :collection …
Run Code Online (Sandbox Code Playgroud)

nested-forms ruby-on-rails-3 simple-form twitter-bootstrap

6
推荐指数
1
解决办法
5637
查看次数

Rails在保存之前验证孩子

我有一个通常的嵌套模型

class Parent
  has_one :child
  accepts_nested_attributes_for :child
end

class Child
  belongs_to :parent

  validate :name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

如果我试图保存一个没有名字的孩子,那么它是禁止的,但如果我保存了嵌套孩子的父母,如果忽略了验证.

我不想重复我的孩子验证:reject_if.

我如何验证孩子,并且只有在孩子有效的情况下,将父母与孩子一起保存?

ruby-on-rails nested-forms ruby-on-rails-4

6
推荐指数
1
解决办法
3979
查看次数