validaciones realizan rails las formularios formulario cómo ruby-on-rails ruby ruby-on-rails-3

ruby-on-rails - realizan - formularios en ruby on rails



Cómo obtener una cadena de consulta de una URL en Rails (5)

En un método de controlador de Ruby on Rails, los parámetros de URL están disponibles en un hash llamado params , donde las claves son los nombres de los parámetros, pero como "símbolos" de Ruby (es decir, con un prefijo de dos puntos). Entonces en tu ejemplo, params[:id] sería igual a 4 y params[:empid] sería igual a 6 .

Recomiendo leer un buen tutorial de Rails que debería cubrir aspectos básicos como este. Here un ejemplo: google aparecerá mucho más:

¿Hay alguna forma de obtener la cadena de consulta en una cadena URL pasada en Rails?

Quiero pasar una cadena de URL:

http://www.foo.com?id=4&empid=6

¿Cómo puedo obtener id y empid ?


Este no es el mejor método, pero funciona:

request.query_string.split(/&/).inject({}) do |hash, setting| key, val = setting.split(/=/) hash[key.to_sym] = val hash end

Esto devolverá hash con todos los parámetros GET ( :name => value ). O simplemente use el método request.query_string , depende de en qué formato desea obtener sus parámetros GET . También puedes usar request.query_params de rake gem.


Si tiene una URL en una cadena, utilice URI y CGI para separarla:

url = ''http://www.foo.com?id=4&empid=6'' uri = URI.parse(url) params = CGI.parse(uri.query) # params is now {"id"=>["4"], "empid"=>["6"]} id = params[''id''].first # id is now "4"

Utilice las bibliotecas estándar para esto, no intente y hágalo usted mismo con expresiones regulares.

Referencias


Rack::Utils.parse_nested_query("a=2") #=> {"a" => "2"}

citado de: Analizar una cadena como si fuera una cadena de consulta en Ruby on Rails

La consulta parse encadena la forma en que lo hacen los controladores de rieles. Consultas anidadas, generalmente a través de un nombre de campo de formulario como este lil guy: name="awesome[beer][chips]" # => "?awesome%5Bbeer%5D%5Bchips%5D=cool" , get ''sliced-and-diced ''en un increíble hash: {"awesome"=>{"beer"=>{"chips"=>nil}}}

http://rubydoc.info/github/rack/rack/master/Rack/Utils.parse_nested_query https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L90


vars = request.query_parameters vars[''id''] vars[''empid'']

etc.