主动管理员允许管理员更改视图

时间:2015-11-30 16:04:38

标签: ruby-on-rails ruby-on-rails-4 activeadmin

我在首页上有联系方式。是否可以允许管理员从后端动态更改这些详细信息?

contact.html.erb

<h3>Contact</h3>
<p>Email: example@example.co.uk</p>
<p>Twitter: @example</p>

1 个答案:

答案 0 :(得分:2)

您需要将联系人详细信息存储在数据库的表中,并为此设置模型。您无法设置ActiveAdmin来编辑其中一个视图模板中的纯文本。

拥有模型后,您可以轻松使用ActiveAdmin编辑这些详细信息所需的单行。

rails g model ContactDetail email:string twitter:string

然后使用默认值创建一行:

> rails console
ContactDetail.create(email: "example@example.co.uk", twitter: "@example")

然后将其放入您的联系页面的控制器中:

@contact_detail = ContactDetail.first

调整视图:

<h3>Contact</h3>
<p>Email: <%= @contact_detail.email %></p>
<p>Twitter: <%= @contact_detail.twitter %></p>

现在,您需要 app / admin / contact_details.rb

ActiveAdmin.register ContactDetail do
  index do
    column :email
    column :twitter
  end
end