标签: formtastic

Formtastic选择分组

现在使用Formtastic我可以选择:

= f.input :category, :as => :select, :include_blank => false, :collection => subcategories
Run Code Online (Sandbox Code Playgroud)

这里我只展示儿童类别.我使用acts_as_tree插件进行父子关系.我想展示父类别.

Formtastic生成的选择应该如下所示:

<select name="favoritefood">
  <optgroup label="Dairy products">
    <option>Cheese</option>
    <option>Egg</option>
  </optgroup>
  <optgroup label="Vegetables">
    <option>Cabbage</option>
    <option>Lettuce</option>
    <option>Beans</option>
    <option>Onions</option>
  <option>Courgettes</option>
  </optgroup>
  ?
</select>
Run Code Online (Sandbox Code Playgroud)

如何在Formtastic中使用分组选择具有acts_as_tree功能的模型?有人知道吗?

更新

我发现这应该有效:

= f.input :category, :include_blank => false, :group_by => :parent
Run Code Online (Sandbox Code Playgroud)

但它没有错误:

undefined local variable or method `object_class' for #<Formtastic::SemanticFormBuilder:0x87d3158>
Run Code Online (Sandbox Code Playgroud)

看起来Formtastic中有一些错误.我查看了formtastic.rb并在detect_group_association方法中找到了object_class :

  def detect_group_association(method, group_by)
    object_to_method_reflection = self.reflection_for(method)
    method_class = object_to_method_reflection.klass

    method_to_group_association = method_class.reflect_on_association(group_by)
    group_class = method_to_group_association.klass

    # This will …
Run Code Online (Sandbox Code Playgroud)

grouping ruby-on-rails acts-as-tree optgroup formtastic

8
推荐指数
1
解决办法
9233
查看次数

2在表单中提交按钮

我对表格有疑问.我有一个相当标准的表单,用标题和正文保存一个帖子(在我的应用程序中称为eReport).该表还有一个"已发布"字段,它是布尔值.保存的eReport仅在公共站点上显示此字段是否设置为true,false为默认值.

我希望在表单末尾显示两个按钮,而不是默认复选框:"立即发布"按钮和"另存为草稿"按钮.如果用户按下前者,则已发布的字段将设置为true.如果是后者,则假.在PHP中,我曾经显示2个具有不同名称值的提交字段,然后使用if/else语句处理输入以确定要构建的正确SQL查询.在Rails中,我假设我会在适当的操作下将此逻辑放在控制器中,但我不确定如何操作按钮的名称或id值.

为了记录,我正在使用Formtastic,但如果有人可以告诉我如何使用默认的Rails表单标签执行此操作,那也没关系.这是我现在的表格的代码:

<% semantic_form_for @ereport do |form| %>

  <% form.inputs do %>
    <%= form.input :title %>
    <%= form.input :body %>
  <% end %>
  <% form.buttons do %>
    <%= form.commit_button :label => "Publish Now" %>
<%= form.commit_button :label => "Save as Draft" %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

forms ruby-on-rails formtastic

8
推荐指数
1
解决办法
5046
查看次数

形式和基本错误

在Formtastic文档中,它讨论了为基本错误添加一行:

<%= semantic_form_for @record do |form| %>
  <%= form.semantic_errors :base %>
  ...main body of form...
<% end %>
Run Code Online (Sandbox Code Playgroud)

令我困惑的是,Formtastic将包括对特定领域错误的毫不费力的支持,但默认情况下,它没有提供这样的调整base.1)你知道这是什么原因吗?

2)在我的情况下,我希望我的所有表单在表单开始后立即包含基本错误.对于所有表格,我有没有办法通过'默认'来形成这种形式?

ruby-on-rails formtastic ruby-on-rails-3

8
推荐指数
2
解决办法
4166
查看次数

如何在没有fieldset的情况下创建一个formtastic嵌套输入?

我有一个表User继承自一个名为的表Person

长话短说,而不是必须做以下事情:

f.inputs 'Something' do
  f.inputs for: :person do |f|
    f.input :name
    f.input :surname
  end
  f.input :account
end
Run Code Online (Sandbox Code Playgroud)

这会产生一个fieldset内部ol,这本身就是无效的,但这不是让我担心的问题.我想摆脱fieldset所有属性显示在同一级别.

f.inputs 'Something' do
  f.input :name, for: :person
  f.input :surname, for: :person
  f.input :account
end
Run Code Online (Sandbox Code Playgroud)

当然这是无效的,在输入中没有for:for.

我正在考虑使用委托,但后来我虽然accepts_nested_attributes_forPerson模型中也有很多,但它们会破坏.

Person表也​​被另一个模型继承.

有没有透明化的宝石,让我继承模型?

polymorphism inheritance nested ruby-on-rails formtastic

8
推荐指数
1
解决办法
950
查看次数

Rails提交按钮文本(formtastic) - 如何更改提交按钮的标签?

我正在使用simple_form和以下代码来创建按钮.

<%= form.action :submit, :value => "submit", :button_html => { :class => "lagoon" }  %>
Run Code Online (Sandbox Code Playgroud)

但是按钮(仍然)标记为"创建用户"而不是"提交".我认为设置值=>会这样做,但事实并非如此

forms ruby-on-rails form-submit formtastic submit-button

8
推荐指数
2
解决办法
7230
查看次数

Activeadmin formtastic动态选择

我想通过Activeadmin的formtastic制作动态选择选项,如下所示:

  form do |f|
    f.inputs "Exam Registration Details" do
      f.input :user_id, :as => :select, :collection => User.where(:admin => 'false')
      #selects user from list. WORKING

      f.input :student_id, :as => :select, :collection => Student.joins(lessons: :user)
      #collection of students will change to students who have lessons with chosen user. NOT WORKING, returns all students who have lessons. 

      f.input :lesson_id, :as => :select, :collection => Lesson.joins(:student, :user)
      #collection of lessons will change to reflect lessons connected by chosen user and student. NOT …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails has-many-through formtastic activeadmin

8
推荐指数
1
解决办法
6750
查看次数

带有Paperclip附件的Rails 3中的多步骤表单

我正在创建一个Ryan Bates描述的风格的多部分表单:

http://railscasts.com/episodes/217-multistep-forms
http://asciicasts.com/episodes/217-multistep-forms(基于文本的版本)

总而言之,我有一个视图(每个表单步骤都有一堆部分),当用户单击下一个按钮并显示表单的不同部分时,表单变量存储在会话中.

我的一个表单步骤允许用户通过Paperclip gem上传多个图像.问题在于Rails正在尝试将图像数据上传到会话,而会话返回TypeError"无法转储文件".

有什么好办法可以解决这个问题?

更新:我已经尝试了一堆宝石(巫师,acts_as_wizard和其他一些小宝石),但它们似乎都不适用于Rails 3.

我也试过将数据存储在一个数组中,直到表单完成,但这导致我的控制器变得庞大而混乱.

forms paperclip formtastic railscasts ruby-on-rails-3

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

在Rails 3中,使用Formtastic 2,如何用div替换内置的有序列表?

在我的Rails 3应用程序中,我使用Twitter Bootstrap作为开发内部项目管理系统的框架工作.我正在使用Formtastic来帮助我使用表单,因为它节省了大量的时间和代码.我的问题是让Formtastic代码以与Bootstrap约定相对应的方式输出表单.我已经阅读了一些我在Google上发现的项目,建议我应该修补Formtastic,但我无法成功完成.

如何自定义Formtastic的输出以在每个字段周围使用div,以便我可以使用Bootstrap?

谢谢你的期待.

formtastic ruby-on-rails-3 twitter-bootstrap

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

你怎么解决?formtastic:label_method不再可用

好的..我是ruby/rails的新手.所以为了弥补我的弱点,我的公司有一个人来帮我创建我们网站的骨头.他输入了formtastic:label_method,因此我们可以更改DDLB中显示的字段.当我将项目移动到新框时,我收到此错误.

:label_method不再可用

我想知道的是......我在它的地方使用了什么?

combobox ruby-on-rails labels formtastic

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

Activeadmin Formtastic 自定义输入

我有一个简单的应用程序,它有三个模型AssessmentQuestion以及AssessmentQuestion

Assessment我有这样的协会,

class Assessment < ActiveRecord::Base
  has_many :assessment_questions, dependent: :destroy
  has_many :questions, through: :assessment_questions
end
Run Code Online (Sandbox Code Playgroud)

Question我有,

class Question < ActiveRecord::Base
  has_many :assessment_questions, dependent: :destroy
  has_many :bank_questions, dependent: :destroy
end
Run Code Online (Sandbox Code Playgroud)

AssessmentQuestion我有,

class AssessmentQuestion < ActiveRecord::Base
  belongs_to :question
  belongs_to :assessment
end
Run Code Online (Sandbox Code Playgroud)

评估问题表有:assessment_id,:question_id:mark

我有使用ActiveAdmingem 的管理界面。

在管理界面中创建评估时,在 admin/assessment.rb 我有一个由 formtastic gem 生成的表单,

  form do |f|
    f.inputs do
      f.input :name
      f.input :duration
      f.input :questions, as: :check_boxes, …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails formtastic activeadmin

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