ActiveAdmin gem を使用した Rails 3 アプリがあります。管理者が更新できる Web サイトの静的ページのリストを示す page.rb ファイルを作成しました。特定の必要性のために、カスタム ビューを作成しました。ページを更新しようとする場合を除いて、すべて正常に動作します。エラーが発生しますThe action 'update' could not be found for Admin::PagesController
。ただし、私の page.rb ファイルには update メソッドがあります。誰かが私が間違ったことを説明できますか?
私のpage.rbファイル:
ActiveAdmin.register_page 'Pages' do
content only: :index do
render 'index'
end
content only: :edit do
render partial: 'edit'
end
controller do
layout 'active_admin'
def index
@search = Page.includes(:translations).where("page_translations.locale='fr'").metasearch(params[:search])
@pages = @search.page params[:page]
end
def edit
@page = Page.find params[:id]
end
end
def update
@page = Page.find(params[:id])
@page.update_attributes(params[:page])
redirect_to(admin_path :notice => 'Coool')
return
end
end
そして、ページを送信するフォーム:
<%= semantic_form_for([:admin, @page], url: admin_page_path, method: :put) do |f| %>
<%= f.inputs do %>
<%= f.input :permalink %>
<%= f.globalize_fields_for :fr do |g| %>
<%= g.text_field :name %>
<%= g.text_area :content %>
<% end %>
<%= f.globalize_fields_for :en do |g| %>
<%= g.text_field :name %>
<%= g.text_area :content %>
<% end %>
<% end %>
<%= f.button "Save" %>
<%= link_to("Cancel", admin_pages_path) %>
<% end %>