Как мне настроить мой @ product = Product.find (params [: id]) для создания product_url? - PullRequest
1 голос
/ 17 июня 2010

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

Установка:

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

Мое обновление по умолчанию:

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 Ответ

2 голосов
/ 17 июня 2010

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

map.resources :products

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

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

Определяет систему предоставления: URL продукта.

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