【发布时间】:2016-06-29 16:51:51
【问题描述】:
我为特定列表创建了一个开放日。我现在正在尝试添加一个 RSVP 功能。我不断收到错误,我无法弄清楚。我确定这很愚蠢,但我只是没有看到它。
耙子路线:
rsvp_listing_open_house GET /listings/:listing_id/open_houses/:id/rsvp(.:format) open_houses#rsvp
我的路线:
resources :listings do
member do
get 'like'
get 'unlike'
get 'duplicate'
get 'gallery'
delete 'gallery' => 'listings#clear_gallery'
get 'manage_photos'
get 'craigslist'
get "add_to_collection"
get 'request_photos'
end
resources :open_houses do
member do
get 'rsvp'
end
end
resources :listing_feedbacks do
member do
get 'archive_feedback'
end
end
end
我的控制器:
def rsvp
@open_house_rsvp = params[:open_house_rsvp]
agent_id = params[:agent_id]
open_house_id = params[:open_house_id]
OpenHouseRsvp.create(:agent_id => agent_id, :open_house_id => open_house_id )
flash[:notice] = "Your RSVP has been submitted!"
redirect_to listing_open_houses_path
end
查看:
<%= link_to "RSVP", rsvp_listing_open_house_path %>
错误:
ActionController::UrlGenerationError in OpenHouses#index
No route matches {:action=>"rsvp", :controller=>"open_houses", :listing_id=>"5341"} missing required keys: [:id]
【问题讨论】:
-
您能发布您遇到的错误吗?
-
看起来您没有将 id 或对象作为参数传递给路径帮助程序,因此它不知道该路由使用哪个
:id。 -
发布了错误。对此感到抱歉。
标签: ruby-on-rails model-view-controller routing erb