【问题标题】:Rails 3- Active_admin - Show field in the new page but not in the editRails 3- Active_admin - 在新页面中显示字段但不在编辑中
【发布时间】:2011-12-30 17:45:09
【问题描述】:

我有一个名为 user 的模型。我只想在创建页面上显示密码字段,而不是在编辑页面上。

ActiveAdmin.register User do
    form do |f|
       f.inputs "User Details" do
          f.input :first_name
          f.input :last_name
          f.input :email
          if f.object.new_record?
              f.input :password
          end

       end
    f.buttons
    end
 end

这是我尝试过的,但使用的是 .new_record?函数我的所有字段都从编辑页面中消失。

有什么想法吗?

【问题讨论】:

    标签: ruby ruby-on-rails-3 formtastic activeadmin


    【解决方案1】:

    解决方案是使用部分。

    【讨论】:

      【解决方案2】:

      对于像我这样的任何人,稍后会出现:Meskallito 提供的答案有效,但您可能需要使用字段集来适应插入逻辑时有时会出现的 ActiveAdmin/Formtastic 奇怪现象,具体取决于您的表单方式是结构化的。例如,当我实现他的答案时,我是这样做的:

      form do |f|
        f.inputs 'Account' do
          f.inputs "Credentials" do
            f.input :email,                   :label => "Email Address"
          end
          if f.object.id.nil?
            f.inputs "Password" do
              f.input :password,              :label => "Password"
              f.input :password_confirmation, :label => "Password Confirmation"
            end
          end
          ...
        end
      end
      

      现在,只有当我创建新用户时才会显示包含密码和密码确认字段的字段集,而不是在我编辑用户时显示。新记录? Tony 最初使用的函数可能也可以正常工作,因为他说当他尝试它时,他的字段消失了,这可能是由于这个问题。

      顺便说一句,我会评论 Meskallito 的原始答案,但我没有足够的代表。 :-)

      【讨论】:

      【解决方案3】:

      我用过:

      if f.object.id.nil?
          f.input :password
      end
      

      【讨论】:

        【解决方案4】:

        试试这个:

          if f.object.new_record?
            f.input :password
            f.input :password_confirmation
          end
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-07-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-10
          • 1970-01-01
          相关资源
          最近更新 更多