Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.4k views
in Technique[技术] by (71.8m points)

ruby on rails - Route constraint fatal

I tried writing my routes in these 3 ways but both of them result into a fatal error. I don't understand why. It looks like it has to do with the constraint because as soon as I remove the regex there are no errors.

resources :posts do
  collection do
    get "level/:level", action: "level", constraints: { level: /^[0-3]$|^blank$/ }
  end
end
get "posts/level/:level", to: "posts#level", constraints: { level: /^[0-3]$|^blank$/ }
resources :posts do
  collection do
    constraints(level: /^[0-3]$|^blank$/) do
      get "level/:level", action: "level"
    end
  end
end
Failure/Error: require File.expand_path("../config/environment", __dir__)

FrozenError:
  can't modify frozen #<Class:#<Array:0x0000000005853ce8>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I've changed the regex to /[0-3]|blank/ and now it works:

resources :posts do
  collection do
    get "videos"
    get "level/:level", action: "level", constraints: { level: /[0-3]|blank/ }
  end
end

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...