В «продукте» есть много «параллельных_продуктов»:
class Product < ActiveRecord::Base
has_many :parallel_products, :class_name => "Product", :foreign_key => "master_product_id"
end
В контроллере я добавляю столбец «parallel_products» к представлению списка:
class ProductsController < ApplicationController
active_scaffold :product do |config|
config.list.columns = [ :parallel_products ]
end
end
Это дает мне сгенерированную ActiveScaffold ссылку в виде списка для просмотра, создания и редактирования параллельных продуктов выбранного продукта.
Пока все хорошо.
Теперь я хочу указать эту ссылку «parallel_products» в помощнике. Никаких изменений в самой ссылке, она должна быть точно такой же, как и ссылка, сгенерированная ActiveScaffold. Причина в том, что мне нужно добавить условие, чтобы ссылка отображалась только при определенных обстоятельствах.
Сгенерированная ActiveScaffold ссылка выглядит в журнале следующим образом:
Started GET "/products?assoc_id=6&association=parallel_products&eid=products_6_parallel_products&parent_scaffold=products&adapter=_list_inline_adapter" for 172.16.99.11 at 2012-03-05 09:37:45 +0100
Processing by ProductsController#index as JS
Parameters: {"assoc_id"=>"6", "association"=>"parallel_products", "eid"=>"products_6_parallel_products", "parent_scaffold"=>"products", "adapter"=>"_list_inline_adapter"}
Мое лучшее предложение для ссылки отношения Active_affold has_many в помощнике:
link_to("link text", :controller => "products", :assoc_id => record.id, :association => "parallel_products", :eid => "products_#{record.id}_parallel_products", :parent_scaffold => "products", :adapter => "_list_inline_adapter")
Это дает мне в журнале:
Started GET "/products?adapter=_list_inline_adapter&assoc_id=6&association=parallel_products&eid=products_6_parallel_products&parent_scaffold=products" for 172.16.99.11 at 2012-03-05 09:39:38 +0100
Processing by ProductsController#index as HTML
Parameters: {"adapter"=>"_list_inline_adapter", "assoc_id"=>"6", "association"=>"parallel_products", "eid"=>"products_6_parallel_products", "parent_scaffold"=>"products"}
Моя ссылка не работает, но, кажется, очень близко. Разница лишь в том, что сгенерированное состояние ссылки «ProductsController # index как JS» и состояние моего синтаксиса «ProductsController # index как HTML».
Каков правильный синтаксис ActiveScaffold для создания ссылки на просмотр списка отношений has_many в помощнике?