我正在关注这个 railscast 来实现一个简单的解决方案来处理静态页面:http ://railscasts.com/episodes/117-semi-static-pages-revised?view=asciicast
我遇到的具体问题是让我的页面控制器中的更新方法工作。
我的路线文件:
Jog::Application.routes.draw do
root :to => 'categories#index'
devise_for :categories
devise_for :users
resources :categories do
resources :gists
end
resources :sub_categories, :gists, :pages, except: "show, edit, update, destory"
get ':id', to: 'pages#show', as: :page
get ':page/edit', to: 'pages#edit', as: :edit_page
put ':page', to: 'pages#update', as: :update_page
delete ':page', to: 'pages#destroy', as: :destroy_page
end
这是我的模型:
class Page < ActiveRecord::Base
resourcify
attr_accessible :content, :name, :permalink
validates_uniqueness_of :permalink
def to_param
permalink
end
end
我的控制器更新方法:
def update
@page = Page.find_by_permalink!(params[:page])
respond_to do |format|
if @page.update_attributes(params[:page])
format.html { redirect_to @page, notice: 'Page was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @page.errors, status: :unprocessable_entity }
end
end
end
我的错误:“测试”的未定义方法“stringify_keys”:字符串
我研究了其他“stringify_keys”错误,但找不到类似的东西。谢谢你的帮助。