Как реализовать разные методы http, сопоставить разные действия с URL-адресом, определенным мной на основе REST от Rails - PullRequest
0 голосов
/ 21 октября 2011

Теперь у меня есть:

map.resources :questions, :collection => {
:query_by_student => :get
}

, что соответствует:

query_by_student_questions GET /questions/query_by_student(.:format)
{:controller=>"questions", :action=>"query_by_student"}

Я хочу добавить запрос "POST" , к тому же URL: /questions/query_by_student ,, но действиедолжно быть "post_by_student"

что мне делать 101

在 在 Rails 的 REST 基础 上 对 自己 的 url 不同 实现 不同 http 方法 对应 不同 action?

我101 有 这 :

map.resources :questions, :collection => {
:query_by_student => :get
}

对应 路由 信息 :

query_by_student_questions GET /questions/query_by_student(.:format)
{:controller=>"questions", :action=>"query_by_student"}

пост* 怎么 写

1 Ответ

0 голосов
/ 21 октября 2011

У меня нет приложения для тестирования, но с помощью rails 2.2 вы можете попробовать

map.resources :questions, :collection => {
   :query_by_student => [:get, :post]
}

и посмотреть, как оно выглядит.

В противном случае, вы можете сделать это вручную, используячто-то вроде

map.connect '/questions/query_by_student', :conditions => { :method => :get }, :controller => 'questions', :action => 'query_by_student'
map.connect '/questions/query_by_student', :conditions => { :method => :post }, :controller => 'questions', :action => 'post_by_student'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...