Как делают я настроил свой @product=Product.find (параметрические усилители [: идентификатор]), чтобы иметь product_url?

Попытка воссоздать {пишет сценарий/генерирует лесов}, и я прошел через многие основы направляющих. Я подозреваю, что должен настроить URL продукта по умолчанию где-нибудь. Но где я делаю это?

Установка:

  1. Имейте: редактирование определения {@product=Product.find (параметрические усилители [: идентификатор])}
  2. Имейте edit.html.erb с регистрацией формы редактирования на действие =>: создать
  3. Имейте определение, создают {...}, с кодом redirect_to (@product...)
  4. Получение ошибки: неопределенный метод 'product_url' для # <ProductsController:0x56102b0>

Мое обновление определения:

def update
    @product = Product.find(params[:id])

    respond_to do |format|
      if @product.update_attributes(params[:product])
        format.html { redirect_to(@product, :notice => 'Product was successfully updated.') }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @product.errors, :status => :unprocessable_entity }
      end
    end
  end
1
задан montooner 16 June 2010 в 20:17
поделиться

1 ответ

А, добавьте в /config/routes.rb строку:

map.resources :products

и сделайте убедитесь, что вы поместили это выше значения по умолчанию:

map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

Это определяет систему для предоставления URL-адресов: product.

2
ответ дан 2 September 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: