Как передать и получить параметры в URL в Ruby on Rails? - PullRequest
2 голосов
/ 02 декабря 2011

Я новичок в ruby, я хотел бы передать параметры в URL и получить его в контроллере.

Я ожидаю операцию, как

www.mysite.com/getuser/id/22

где getuser - имя параметра, а 22 - его значение.

Пожалуйста, укажите, есть ли полезные ссылки, на которые я могу сослаться.

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 02 декабря 2011

Пожалуйста, прочитайте все в Rails Guide to Routing .Здесь есть два основных случая:

  • RESTful маршруты: используйте только GET, PUT, POST, DELETE.Rails отображает это, используя метод resources.resources :pages приведет к следующим маршрутам (и URL-адресам) автоматически:

        sites GET    /sites(.:format) {:action=>"index", :controller=>"sites"}
              POST   /sites(.:format) {:action=>"create", :controller=>"sites"}
     new_site GET    /sites/new(.:format) {:action=>"new", :controller=>"sites"}
    edit_site GET    /sites/:id/edit(.:format) {:action=>"edit", :controller=>"sites"}
         site GET    /sites/:id(.:format) {:action=>"show", :controller=>"sites"}
              PUT    /sites/:id(.:format) {:action=>"update", :controller=>"sites"}
              DELETE /sites/:id(.:format) {:action=>"destroy", :controller=>"sites"}
    
  • Другие маршруты: в вашем файле маршрутов есть широкий набор методов, которые можно использовать для добавления дополнительныхмаршруты.Но имейте в виду: если вы просто хотите обратиться к ресурсу, лучше придерживаться спокойных маршрутов.Типичным примером является _ match ':controller(/:action(/:id))'.Это позволяет использовать URL-адреса, такие как:

    • localhost:3000/sites/help: контроллер == SitesController, действие == help
    • localhost:3000/sites/search/something: контроллер == SitesController, действие == search, параметр в params равен something под клавишей id.Таким образом, внутри действия search вы найдете params[:id], связанный с "something".
0 голосов
/ 02 декабря 2011

В вашем файле config / rout.rb вы пишете:

resources :users 

Затем вы создаете контроллер:

rails g controller users 

Внутри вашего файла контроллера у вас есть что-то (надуманное):

def show 
  my_id_param = params[:id]
end 

Когда вы перейдете по адресу: www.mysite.com/user/22

my_id_param будет 22 * ​​1012 *

Я думаю, что направляющие рельсов - довольно хороший ресурс, простоGoogle для них, есть тонна хорошей информации там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...