Ruby on rails 破坏按钮轨道
我想为菜单项创建一个销毁,但不知道在信息中放置什么和位置。我想它应该在菜单控制器,但不确定,请帮助。这是我想在隐藏字段后添加按钮的表单:Ruby on rails 破坏按钮轨道,ruby-on-rails,Ruby On Rails,我想为菜单项创建一个销毁,但不知道在信息中放置什么和位置。我想它应该在菜单控制器,但不确定,请帮助。这是我想在隐藏字段后添加按钮的表单: =form_for ["admin", @menu] do |f| %p =f.text_field :name, class: "form-control" %h3 Menu Items =f.fields_for :menu_items do |c| %p =c.text_field :title,placehol
=form_for ["admin", @menu] do |f|
%p
=f.text_field :name, class: "form-control"
%h3 Menu Items
=f.fields_for :menu_items do |c|
%p
=c.text_field :title,placeholder: "Title", class: "form-control"
=c.text_field :url, placeholder: "enter URL or path here",class: "form-control"
=c.hidden_field :id
%p
=f.submit
%p
=link_to "back", admin_menus_path, class: "btn btn-danger"
菜单控制器:
module Admin
class MenusController < AdminController
def index
@menus = Menu.all
end
def new
@menu = Menu.new
10.times {@menu.menu_items.build}
end
def create
@menu = Menu.new menu_params
if @menu.save
redirect_to admin_menus_path, notice: "Menu created."
else
render :new
end
end
def update
@menu = Menu.find params[:id]
if @menu.update_attributes menu_params
redirect_to admin_menus_path, notice: "Menu updated."
else
render :edit
end
end
def edit
@menu = Menu.find params[:id]
10.times {@menu.menu_items.build}
end
def destroy
@menu = Menu.find params[:id]
if @menu.destroy
redirect_to admin_menus_path, notice: "Menu deleted!"
else
redirect_to admin_menus_path, alert: "Menu was NOT deleted!!!!"
end
end
protected
def menu_params
params.require(:menu).permit(:name, :menu_items_attributes => [:title, :url, :id])
end
end
end
模块管理
类MenusController[:title,:url,:id])
结束
结束
结束
请帮忙(
要摆脱这种混乱局面:
附言
如果你碰巧不知道我所问问题的答案,也不知道问题的技术措辞,如果你能用不同的措辞回答这个问题,我将不胜感激与@menu谢谢你相比。据我所知,你的
菜单有很多菜单项
和菜单项属于菜单
,当你想编辑你的菜单
时,你可以删除已经存在的菜单项
我会用下一种方法:
菜单项中添加按钮DESTROY
,并使用JavaScript,只需单击添加隐藏属性:\u DESTROY
SUBMIT
时,您的菜单将获得:\u destroy
属性并将销毁您的obejct
希望它能对您有所帮助。您想将“销毁”按钮放在表单中吗?那很好。只是因为创建菜单项后,它无法从主菜单页中删除并显示一个编号点。不要喜欢它在该页上造成的混乱:“4”毕竟,这是一个cms,用户不必面对这种困惑。谢谢你,奥列格,我会尝试一下。但为了确保我们在正确的页面上,销毁按钮会销毁我所有的菜单项,还是只销毁我按下的菜单项,因为我真的想在每个菜单项下销毁按钮(上面的菜单项页面添加了图片)再次感谢您的耐心等待,因为这是我的第一个项目。您应该添加
:\u destroy
属性到菜单项
您要删除的内容,当控制器中的rails获得它时,此菜单项
将被销毁。例如,对象菜单项
有2个菜单项
-id:[10,11],在视图上单击id 11上的destroy
按钮。JS添加到相应的对象属性:_destroytrue
并按下SABMIT
。控制器获取参数params[:菜单]={name:'My name',menu items_attributes:{title:'menu Item id 11',id:11,url:'google com',_destroy:true}}
,现在如果您使用此属性菜单,则带有id
11的项将被删除。