Привет, я пытаюсь вызвать свой метод offer_bid через следующую строку link_to erb: -
<%= link_to "Offer Bid", {:controller => "bids", :action => "offer_bid"},
:remote => true %>
Но я получаю следующую ошибку маршрутизации: -
No route matches {:action=>"offer_bid", :controller=>"bids"}.
Должен ли я явно определять маршрут в моем файле rout.rb ????
У меня есть соответствующий маршрут link_to, как показано ниже, когда я запускаю "rake route": -
rake routes | grep bid
post_bids GET /posts/:post_id/bids(.:format) {:controller=>"bids", :action=>"index"}
post_bids POST /posts/:post_id/bids(.:format) {:controller=>"bids", :action=>"create"}
new_post_bid GET /posts/:post_id/bids/new(.:format) {:controller=>"bids", :action=>"new"}
edit_post_bid GET /posts/:post_id/bids/:id/edit(.:format) {:controller=>"bids", :action=>"edit"}
post_bid GET /posts/:post_id/bids/:id(.:format) {:controller=>"bids", :action=>"show"}
post_bid PUT /posts/:post_id/bids/:id(.:format) {:controller=>"bids", :action=>"update"}
post_bid DELETE /posts/:post_id/bids/:id(.:format) {:controller=>"bids", :action=>"destroy"}
/bids/:bid_id(.:format) {:controller=>"bids", :action=>"offer_bid"}
Обратите внимание, что path_name, соответствующее action => "offer_bid, это просто пробел !!!
Почему здесь пусто ???
Метод, который я пытаюсь вызвать, приведен ниже: -
def offer_bid
@bid = Bid.find(params[:id])
@post.bid_winner_id = @bid.user_id
@post.save
flash[:notice] = "Task offered to @post.user.email"
end
Любые объяснения и предложения для достижения моего сценария действительно приветствуются.
Заранее спасибо.
Я использую рельсы версии 3.01