我正在尝试为与Step具有has_many关系的Recipe模型自定义ActiveAdmin表单.
class Recipe < ActiveRecord::Base
has_many :steps
end
class Step < ActiveRecord::Base
acts_as_list :scope => :recipe
belongs_to :recipe
end
Run Code Online (Sandbox Code Playgroud)
我在与此相关的ActiveAdmin文件中有以下内容:
form do |f|
f.has_many :steps do |ing_f|
ing_f.inputs
end
end
Run Code Online (Sandbox Code Playgroud)
我尝试加载表单时抛出以下错误:
未定义的方法`new_record?' 为零:NilClass
到目前为止,我已经将它与has_many方法隔离开了但是我已经迷失了.任何建议和帮助将不胜感激!
在以下场景中,我需要检查fields_for循环中对象属性的值.
<%= f.semantic_fields_for :review_details do |rd| %>
<%= rd.input :review_criteria_id, :as=>:hidden %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在循环中,:review_criteria_id渲染为隐藏字段,但我有一个场景,如果它是一个特定的标准,我必须打印更多的信息.如何获得review_criteria_id循环中的值.我用了:
rd.review_criteria_id
Run Code Online (Sandbox Code Playgroud)
但既然rd是形式上的对象,那么我就无法得到它的价值:review_crieteria_id.
ruby-on-rails ruby-on-rails-plugins formtastic ruby-on-rails-3
使用simple_form我们可以使用以下方法更改标签的类:
label_html => {:class => "myclass"}
但在处理复选框时我们如何做同样的事情呢?
simple_form 指定默认类 collection_check_boxes
有没有办法更改此默认类?
我正在构建一个应用程序,用户只需将电子邮件留给评论即可发表评论.
我希望他们能够直接从那里注册,通过链接与他们的电子邮件地址作为参数
(如:)<%= link_to register_path(:email => @comment.email %>- 所以还没有现有的用户记录.
这应该form.input通过:value选项将值应用于字段来完成.
但是以下代码不起作用!
<%- if params[:email] -%>
<%= f.input :email, :required => true, :value => params[:email] %>
<%- else -%>
<%= f.input :email, :required => true %>
<%- end -%>
Run Code Online (Sandbox Code Playgroud)
我看了一下formtastic rdoc里面和我当地的宝石,但找不到任何选择.
有人建议吗?
我在Active Admin中有一个编辑表单.我需要一些字段作为只读.
我当前的编辑页面就像

我需要页面看起来像这样

如何才能做到这一点.我的编辑表单页面的代码就像
form :html => { :enctype => "multipart/form-data" } do |f|
f.inputs "Users" do
f.input :device, :label => 'Device', :as => :select, :collection => DEVICE, :include_blank => false
f.input :current_address, :label => 'Current Address', :as => :string
end
end
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我们都看到了辉煌的复杂形式railscast,其中Ryan Bates解释了如何使用Javascript在父对象表单中动态添加或删除嵌套对象.
有没有人对如何修改这些方法以便与Haml Formtastic合作有任何想法?
在这里添加一些上下文是我目前面临的问题的简化版本:
#教师表格(有嵌套的主题表格)[来自我的申请]
- semantic_form_for(@teacher) do |form|
- form.inputs do
= form.input :first_name
= form.input :surname
= form.input :city
= render 'subject_fields', :form => form
= link_to_add_fields "Add Subject", form, :subjects
Run Code Online (Sandbox Code Playgroud)
#个人主题形式部分[来自我的申请]
- form.fields_for :subjects do |ff|
#subject_field
= ff.input :name
= ff.input :exam
= ff.input :level
= ff.hidden_field :_destroy
= link_to_remove_fields "Remove Subject", ff
Run Code Online (Sandbox Code Playgroud)
#Application Helper(直接来自Railscasts)
def link_to_remove_fields(name, f)
f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)")
end
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, …Run Code Online (Sandbox Code Playgroud) 这是关于Rails和Formtastic.
如何在没有初始/主要空白字段的情况下添加带有formtastic的选择框?这样最初选择的项目就是第一个包含内容的项目.
谢谢!
你的,乔恩.
我正在使用ActiveAdmin和Rails 3.1 - 有问题了解以下是否是一个错误,或者是否有某种方法正确地做到我不理解.我试图使用具有一个关系的嵌套模型,这样我就可以创建一个页面并在一步中填写它的元数据. - (page has_one meta_data,accepts_nested_attributes_for meta_data)
示例1) 在此示例中,当我单击新页面时,元数据部分存在,但没有输入字段 - 另外,如果我编辑记录,它会正确显示,但是字段集在第二部分中重复.如果我删除包含semantic_field_for的f.inputs(这将是有意义的),那么它会完全中断并在元数据区域中不显示任何内容......
form do |f|
f.inputs "Page Information" do
f.input :name
f.input :uri
f.input :view
f.input :body, :as => :text
f.input :active
end
f.inputs "Meta Data" do
f.semantic_fields_for :meta_data do |meta_form|
meta_form.inputs :title, :description, :keywords, :name => "Meta Information"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我理解元数据可能没有被实例化,但我不确定我应该如何在表单块中执行此操作?(或者,如果我甚至可以这样做) - 我能够使其工作的唯一方法是使用自定义表单,并在视图中构建元数据,如下所示
2)我是如何解决它,但似乎是hacky
<%= semantic_form_for [:admin, @page] do |f| %>
<% @page.build_meta_data %>
<%= f.inputs :name => "Page Information" do %>
<%= f.input :name %>
<%= …Run Code Online (Sandbox Code Playgroud) ruby-on-rails nested-attributes formtastic ruby-on-rails-3 activeadmin
我有一个带有名为"map_id"的整数列的表,我想添加一个activeadmin过滤器来过滤此列是否为NULL或IS NOT NULL.
怎么能实现呢?
我尝试了以下过滤器
filter :map_id, :label => 'Assigned', :as => :select, :collection => {:true => nil, :false => ''}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
用于#的未定义方法`map_eq'
有没有办法告诉Rails不要div.field_with_errors在标签和实际字段div.error周围创建,而是围绕它们创建?
例如,我在表格中的片段(用HAML编写)
= form_for @user do |f|
%div.clearfix
= f.label :name
%div.input
= f.text_field :name
Run Code Online (Sandbox Code Playgroud)
我希望在错误的情况下根目录div div.clearfix.error并避免这种情况field_with_errors.我可以这样做吗?
作为另一种选择,我可以制作formtastic 来创建Bootstrap -styled元素,没有formtastic的css和html类,但是使用bootstrap的.在使用formtastic的情况下,我可以使用错误字段制作一些东西吗?
customization ruby-on-rails formtastic ruby-on-rails-3 twitter-bootstrap
formtastic ×10
activeadmin ×4
admin ×1
has-many ×1
javascript ×1
meta-search ×1
nested-forms ×1
simple-form ×1