1.8.x Ruby on Rails RESTful вложенная страница администратора и проблемы form_for - PullRequest
0 голосов
/ 22 апреля 2010

Итак, я создаю веб-сайт, на котором я хочу иметь директорию администратора в rails 1.8.x, и я немного пытаюсь заставить form_for связаться с нужным контроллером. Я пытаюсь быть ОТДЫХНЫМ. То, что я в основном хочу, - это страница администратора с краткой информацией о действиях, которая может затем администрировать подмодели, такие как:

/admin (a summary of events)
/admin/sales (edit sales on the site)
/admin/sales/0 (the normal RESTful stuff)

Я не могу использовать пространства имен, так как они были введены в Rails 2.0 (производственный сайт, с которым я не хочу связываться с обновлением rails и всем этим).

Во всяком случае, то, что у меня есть в route.rb:

map.resource :admin do |admin|
  admin.resources :sales
end

Я использую map.resource как синглтон, как рекомендовано другим сайтом.

Проблема возникает, когда я пытаюсь использовать form_for для ссылки на подресурс RESTful. Если я сделаю:

form_for(:sales, @sale)

он никогда не связывается с нужным контроллером, что бы я ни пытался. Я также попробовал:

form_for [@admin, @sale] do |f|

и это тоже не работает (я полагаю, поскольку admin - это синглтон, у которого нет модели, это просто заполнитель для контроллера администратора). Я должен добавить префикс или что-то? Или что-то в контроллере продаж указать, что это субконтроллер для админа? Есть ли более простой способ сделать это без ручного создания группы маршрутов? Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 апреля 2010

Вы можете использовать параметры контроллера, действия и HTML, например, следующие.

<%= form_for :sales, :controller=>controllerName, :action=>actionName, :id=>idParameter}, :html=>{:onsubmit=>"someFunction()"} do |f| %>


            |
            |
            |




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