form_for дает мне неправильный URL для path_prefixes - PullRequest
0 голосов
/ 26 августа 2010

У меня проблема с методом form_for в Rails.Это ведет себя странно.

У меня есть маршрут с префиксом пути, что-то вроде:

map.resources :beers, :path_prefix => '/:brewery'

И у меня есть такая форма (@ beer.brewery это строка, простоназвание пивоваренного завода):

<% form_for @beer, :url => { :brewery => @beer.brewery } do |form|
--some fields
<% end %>

Это установит действие формы для этого для новой записи.

/brewery_name/beers/new

и это для существующей записи.

/brewery_name/beers/1/edit

Кто-нибудь знает, почему это происходит или как это исправить?

- edit -

Прямо сейчас я решаю это следующим образом (для новой записи):

 <% form_for @beer, :url => beers_path(@beer.brewery) do |form| %>

и (для отредактированной записи)

<% form_for @beer, :url => beer_path(@beer.brewery, @beer) do |form| %>

Но я хочу сделать то же самое для новых и редактирования, если это возможно.

Приветствия,Тайс.

1 Ответ

0 голосов
/ 26 августа 2010

Полагаю, вы хотите, чтобы это пошло на пиво пивоварни.В этом случае:

<% form_for [@beer.brewery, @beer] do |f| %>
  -- some fields
<% end %>

Предоставив массив в качестве первого аргумента для form_for, он сгенерирует вложенный ресурс.

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