Ruby on rails 按\查找\字段在ActiveRecord中工作不正常

Ruby on rails 按\查找\字段在ActiveRecord中工作不正常,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个导航系统,为任何链接设置提供永久链接 当我通过脚本/控制台运行该行时,它将返回以下内容: >> Navigation.find_by_permalink("gems") => #<Navigation id: 10, text: "Gems", parent: nil, destination_controller: "pages", destination_action: "show", destination_id: "1", permalink: "gems

我有一个导航系统,为任何链接设置提供永久链接

当我通过脚本/控制台运行该行时,它将返回以下内容:

>> Navigation.find_by_permalink("gems")
=> #<Navigation id: 10, text: "Gems", parent: nil, destination_controller: "pages", destination_action: "show", destination_id: "1", permalink: "gems", created_at: "2009-12-26 14:56:28", updated_at: "2009-12-26 14:56:28", previous: 9>
我的请求是“/permalink/gems”,关联的路径是:

map.permalink "permalink/:permalink", :controller => 'navigations', :action => 'permalink'
处理该请求的控制器代码为:

def permalink
    @nav=Navigation.find_by_permalink(params[:permalink])
    redirect_to :controller => @nav.destination_controller, :action => @nav.destination_action, :id => @nav.destination_id
end

有人知道为什么会发生这种情况吗?

该问题是由声明性授权引起的。它以RESTfully方式使用permalink操作,因此没有使用我的导航查找

要禁用所有操作的声明性授权,请在控制器配置中禁用RESTful操作:

filter_resource_access
致:


你能发布你的控制器代码吗?可能由于某种原因,未正确传递参数值。您是否在控制器中执行了“p”操作并检查了参数[:permalink]的值是否出现?我在检索参数[:permalink]的值时遇到问题,我注释掉了当前代码并添加了“flash[:notice]=params[:permalink]”并重定向到根url,但我仍然遇到同样的问题
filter_resource_access
filter_access_to :index, :show, :edit, :new, :create, :update, :destroy