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