Ruby on rails 通过命名路由将get参数传递给控制器模型;把钥匙串起来!
嘿,我只是在学习RubyonRails,我已经被这个问题困扰了一段时间了 以下是我的url请求:Ruby on rails 通过命名路由将get参数传递给控制器模型;把钥匙串起来!,ruby-on-rails,Ruby On Rails,嘿,我只是在学习RubyonRails,我已经被这个问题困扰了一段时间了 以下是我的url请求: http://192.168.2.20:8080/Location/new/123.123,-123.123/ 这是我的路线。rb: map.connect '/Location/new/:coords/', :controller => 'Location', :action => 'new', :coords => /\d+.\d+,-\d+.\d+/ map.c
http://192.168.2.20:8080/Location/new/123.123,-123.123/
这是我的路线。rb:
map.connect '/Location/new/:coords/', :controller => 'Location', :action => 'new', :coords => /\d+.\d+,-\d+.\d+/
map.connect '/Location/list/', :controller => 'Location', :action => 'list'
map.connect '/Location/create/', :controller => 'Location', :action => 'create'
这是我的位置_controller.rb
def new
@coords = Location.new(params[:coords])
end
下面是它给我的错误消息:
NoMethodError in LocationController#new
undefined method `stringify_keys!' for "123.123,-123.123":String
Location.new需要一个散列作为其参数,在Location_controller.rb中,您应该使用:
def new
@location = Location.new( { :coords => params[:coords] } )
end
假设coords是要使用的字段的名称。然后在视图或后续代码中,可以使用@location.coords
获取值