ruby-on-rails - Rails 3. 使用 Formtastic 有条件地显示字段

标签 ruby-on-rails ruby formtastic activeadmin

我正在使用 ActiveAdmin 和 Formtastic。

我有一张发票表格,其中包含发货下拉菜单。

form do |f|
  f.inputs "Shipment Details" do      
  f.input :shipment_id, :label => "Shipment", :as => :select, :collection => Shipment.find(invoiceless_shipments, :order => "file_number", :select => "id, file_number").map{|v| [v.file_number, v.id] }
  f.input :issued_at, :label => "Date", :as => :datepicker
  ... more fields ...
end

如果表单是新发票表单,我只想显示发货的选择菜单。

如果表单是编辑表单,我不想显示发货下拉选择菜单。因此,如果表单是编辑表单,则不会更改。

我正在考虑做类似的事情

if params[:action] != 'edit'
  f.input :shipment_id, :label => "Shipment", :as => :select...
end

但我收到 DSL 错误。

最佳答案

尝试

form do |f|
  f.inputs "Shipment Details" do      
    if f.object.new_record?
        f.input :shipment_id, :label => "Shipment", :as => :select...
    end
    ...
  end
end

问题(部分)在此之前得到回答:Accessing object of form in formtastic

关于ruby-on-rails - Rails 3. 使用 Formtastic 有条件地显示字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704039/

相关文章:

ruby-on-rails - Scraping rake 任务似乎受到不需要的缓存的影响

ruby-on-rails - Rails 4.2 database.yml 不读取 rbenv-vars 变量

ruby-on-rails - Rails 3 - 需要帮助了解如何使用 WHERE IN (XXXXX) 进行查询

ruby-on-rails - Rails 的 Turbolinks 未激活

ruby-on-rails - 删除回形针图像 Active Admin

ruby-on-rails-3 - 如何使用 Formtastic 添加与模型无关的输入

ruby-on-rails - 回形针和 Amazon S3 问题

ruby - 为什么 eval 将方法创建为私有(private)方法?

ruby - module_eval/class_eval/instance_eval 如何统计行号

activeadmin - 没有资源的semantic_form_for 多个输入不起作用