- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望有人可以在这里提出修复建议。我对 Rails 相当陌生,正在探索 Rails 4.0 中的变化。我在 Rails 4.0 中构建了这个简单的食谱书应用程序。我有一个食谱的主要模型(名称、 cooking 时间、 toastr 温度、说明等)。因为某些食谱可能有 5 种成分,而其他食谱可能有 20 种,所以我想在具有 has_many 关联的单独模型中分解成分。所以食谱有很多成分并且接受嵌套属性:成分。以下是型号:
食谱.rb
class Recipe < ActiveRecord::Base
belongs_to :user
belongs_to :category
has_many :ingredients, :dependent => :destroy
validates :name, presence: true, length: { maximum: 50 }
accepts_nested_attributes_for :ingredients,
:reject_if => lambda { |a| a[:name].blank? },
:allow_destroy => true
end
成分.rb
class Ingredient < ActiveRecord::Base
belongs_to :recipe
end
提醒:Rails 4.0 不再使用 attr_accessible,而是将赋值移至具有强参数的 Controller 中。
recipes_controller.rb
class RecipesController < ApplicationController
before_action :find_recipe, only: [:show, :edit, :update, :destroy]
before_action :set_current_user, except: [:index, :show]
respond_to :html, :js
...
def edit
end
def update
if @recipe.update_attributes(recipe_params)
redirect_to @recipe
else
render :edit
end
end
...
def find_recipe
@recipe = Recipe.find(params[:id])
end
private
def recipe_params
params.require(:recipe).permit( :id, :name, :category_id, :cook_time, :oven_temp, :calories, :instructions, :notes, :email, ingredients_attributes: [:id, :name])
end
end
我正在使用 nathanvda 的优秀 Cocoon gem 来动态管理嵌套表单字段,它在“recipes#new”中工作得很好,并正确保存信息。但是,成分字段不会出现在“recipes#edit” View 中!这是我的“表单”和成分_字段部分的代码。
_form.html.erb(缩写)
<%= form_for @recipe, html: { class: 'form-horizontal' } do |f| %>
<fieldset>
<legend>Main Information</legend>
<div class="field form-group">
<%= f.label :name, "Recipe name", class: "col-lg-2 control-label" %>
<div class="col-lg-5">
<%= f.text_field :name, class: "form-control" %>
</div>
</div>
<div class="field form-group">
<%= f.label :cook_time, class: "col-lg-2 control-label" %>
<div class="col-lg-5">
<%= f.text_field :cook_time, class: "form-control" %>
</div>
</div>
...
</fieldset>
<legend>Ingredients</legend>
<p>Number of ingredients: <%= f.object.ingredients.count unless f.object.ingredients.nil? %></p>
<fieldset id="ingredients">
<% f.fields_for :ingredients do |builder| %>
<%= render 'ingredient_fields', :f => builder %>
<% end %>
<p class="links">
<%= link_to_add_association 'add ingredient', f, :ingredients, { class:"btn btn-primary" } %>
</p>
</fieldset>
<fieldset>
<legend>How to make it</legend>
<div class="field form-group">
<%= f.label :instructions, class: "col-lg-2 control-label" %>
<div class="col-lg-5">
<%= f.text_area :instructions, class: "form-control", rows: "7" %>
</div>
</div>
...
</div>
</fieldset>
<% end %>
_ingredients_fields.html.erb
<div class="nested-fields">
<div class="form-group">
<%= f.label :name, "Ingredient", class: "col-lg-2 control-label" %>
<div class="col-lg-5">
<%= f.text_field :name, class: "form-control" %>
</div>
<%= link_to_remove_association "remove", f %>
</div>
</div>
正如我所说,非常简单,删除了所有错误检查和消息传递,只是基础知识。关于我缺少什么有什么想法吗?当我从显示 View 加载编辑时,我知道食谱中有成分。预先感谢您的任何建议!
凯文
最佳答案
确认。它就像一个“=”符号一样简单 - 一定已经查看了 <% f.fields_for... %> 一千遍了,只是没有注意到我错过了添加 <%=。
关于ruby-on-rails-4 - Rails 4.0 和 Cocoon : nested fields under fields_for don't appear in Edit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238685/
我正在寻找一种方法来进行更复杂的确认,确认我现在使用的是这样的: ".html_safe, p, :class => 'btn-link remove has-tooltip',
我一直在开发一个跟踪基本事件的 Rails 应用程序,我希望扩展它(这是我自己的生活数据跟踪应用程序)。我有一个 EventTemplate 类,它存储 EventTemplateAttributes
我有一个使用 Cocoon gem 生成的 lineItem 字段,在尝试保存行项目字段值时遇到问题,并且当我检查元素时,add_item 按钮没有为生成的每个新字段触发唯一 ID。 class
我在 ruby make 和 cocoon 中有一个函数嵌套形式。问题是我尝试使用 before-insert 和 after-insert 但它什么也没做。 我的喵:
我有两个 Cocoon 网站:ABC 和 ABC-mobile。 如果用户来自移动浏览器,那么我希望他们重定向到 ABC-mobile。我该如何实现这个目标? 最佳答案 您需要检测用户代理。在 Coc
我几乎完成了一个使用 cocoon 的表单,该表单管理需要动态生成表单的各个部分的深度嵌套表单。数据库设置为 Visualizations has_many Rows,Rows has_many pa
我在渲染嵌套字段中的选项集合时遇到问题。该集合取决于现有表单中填写的值。 我相信修复方法在于为每个新的嵌套输入字段指定一个具有唯一 ID 的新输入字段,但如果我错了,请纠正我。 上下文 渲染订单表单时
在一个 Rails 项目中,我使用 cocoon gem创建嵌套表单。在provided example ,方法 link_to_remove_association 被使用,生成一个链接,点击时删除
根据https://github.com/nathanvda/cocoon#link_to_add_association您应该能够将函数传递给 data-association-insertion-
我正在尝试将 cocoon 用于嵌套的 ajax 表单和 formtastic 我的导轨版本 Rails 3.2.3 我已经把 gem "cocoon"放在了我的 gemfile 中,并进行了捆绑安
我一直在使用 Cocoon gem 在 rails 中动态生成嵌套字段。我遇到了一个应用程序,我想用数字标记 cocoon 生成的字段;类似如下。 Field 1: __________ Field
我有使用嵌套表单的 cocoon,如果您单击添加字段链接,它会插入输入字段。如何自动呈现第一个输入,然后在单击“添加字段”时插入其他输入? 最佳答案 在您的 Controller 中,使用此代码。在下
我们研究了从经典的 ASP 迁移到基于 Java 的 Web 应用程序(即 JavaServer Faces 2.0)的可能性。旧的 ASP 应用程序使用 XSLT 来呈现基本的 UI 组件,我们希望
我正在构建一个带有嵌套表单的应用程序,并希望使用 jquery 动态添加字段。 我听人们谈论过两个 gem 。一个是nested_form_fields,另一个是cocoon。 有人比较过这两种 ge
我有一个带有 cocoon 的嵌套表单,但在尝试从 JavaScript 计算总价时遇到问题。当我检查查看源页面时,字段生成的属性没有值属性。如果我使用@invoice.line_items.buil
本文整理了Java中org.apache.cocoon.components.flow.WebContinuation类的一些代码示例,展示了WebContinuation类的具体用法。这些代码示例主
我搜索了堆栈溢出和谷歌无济于事。 我有一个人有_one next_of_kin 我可以创建一个带有嵌套表单(带有茧)的人,并且可以完美保存。出于某种原因,当我转到编辑页面时,它会删除关联的 next_
假设我有这些模型,我打算在同一个表单上添加/删除它们: class Survey < ActiveRecord::Base has_many :questions end class Questi
我正在使用 cocoon gem 处理动态嵌套表单。我有两个模型 class CrossTable @folders, :label_method => :title, :val
我目前有一个具有深度嵌套的复杂表单,并且我正在使用 Cocoon gem 根据需要动态添加部分(例如,如果用户想要在销售表单中添加另一辆车)。代码如下所示: "sale_vehicles/
我是一名优秀的程序员,十分优秀!