在menuList.html.erb
:
<%= link_to("Edit",{:action=>'edit',:id=>menu.id})%>
在menus_controller
:
def edit
@menu=Menu.find(params[:id])
end
def update
@menu=Menu.find(params[:id])
if @menu.update_attributes(menu_params)
flash[:notice]="Menu Updated Successfully"
else
endrender('edit')
end
end
def menu_params
params.require(:menu).permit(:menu_item_name,:price,:item_type,:image)
end
menus/edit
中的:
<%= form_for(:menu,:url=>{:action=>'update',:id=>@menu.id}) do |f|%>.....
我面临的问题:
当我点击Edit
并访问编辑页面时,我收到了错误的网址'../menus/74/edit',我认为应该是'../menus/edit/ 74' 。
点击Save Edit
后,我收到The action '74' could not be found for MenusController
。请帮助我,我是新手。
答案 0 :(得分:0)
在config / routes.rb中添加如下内容:
resources :menu do
member do
get 'edit' # or post or any other method as per your need
end
end