В Rails 2.3.8 у меня есть контроллер кредитных карт, которому нужен customer_id.Я использую before_filter и метод, чтобы получить идентификатор клиента.Я использую пути, такие как new_admin_credit_card_path (: customer_id => @ customer.id), чтобы добраться до страниц, обрабатываемых контроллером кредитной карты.У меня проблемы с отправкой формы для создания или редактирования кредитных карт.Идентификатор клиента либо не передается, либо передается, но действие не отвечает должным образом.Вот что я пытаюсь сделать в своей форме:
<% form_for :credit_card,
:url => admin_credit_cards_path(:customer_id => @customer.id) do |f| %>
...BLAH BLAH CODE BLAH...
<%= f.submit %>
<% end %>
Вот ошибка, которую я получаю:
Ошибка маршрутизации: admin_credit_card_url не удалось сгенерировать из {: customer_id => 37165,: controller => "admin / credit_cards ",: action =>" show "}, ожидается: {: controller =>" admin / credit_cards ",: action =>" show "}, diff: {: customer_id => 37165}
Я также пробовал это:
<% form_for (:credit_card, @credit_card, :url => { :controller => "admin/credit_cards",
:action => "update" } ) do |f| %>
И я получаю
Неизвестное действие
На 37762 не ответили никакие действия.id это действие.
Вот мои методы создания и обновления в контроллере:
def create
@credit_card = scope.new(params[:credit_card])
set_modified @credit_card
respond_to do |format|
if @credit_card.save
flash[:notice] = 'CreditCard was successfully created.'
format.html { redirect_to admin_credit_card_path(:customer_id => @customer.id) }
format.xml { head :created, :location => admin_credit_card_url(:customer_id =>
@customer.id ) }
else
format.html { render :action => "new" }
format.xml { render :xml => @credit_card.errors.to_xml }
end
end
end
def update
@credit_card = scope.find(params[:id])
set_modified @credit_card
respond_to do |format|
if @credit_card.save
flash[:notice] = 'CreditCard was successfully updated.'
format.html { redirect_to admin_credit_card_path(:customer_id => @customer.id ) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @credit_card.errors.to_xml }
end
end
end