Ruby on rails 三重嵌套资源的窗体未出现
我知道资源应该只嵌套一次,但我有两个模型,它们浸入三重嵌套水域,这使得事情比它们需要的更复杂,但我看不到在这两种情况下避免这种情况的方法……因此: 嵌套的工作方式如下:组>导航栏>链接 我在获取要呈现的链接表单时遇到问题:Ruby on rails 三重嵌套资源的窗体未出现,ruby-on-rails,forms,Ruby On Rails,Forms,我知道资源应该只嵌套一次,但我有两个模型,它们浸入三重嵌套水域,这使得事情比它们需要的更复杂,但我看不到在这两种情况下避免这种情况的方法……因此: 嵌套的工作方式如下:组>导航栏>链接 我在获取要呈现的链接表单时遇到问题: - simple_form_for new_group_navbar_link_path(@group, @navbar, @link) do |f| %fieldset.well.pleft80.edit = f.input :method_name =
- simple_form_for new_group_navbar_link_path(@group, @navbar, @link) do |f|
%fieldset.well.pleft80.edit
= f.input :method_name
= f.input :text
= f.input :button
.form-actions
= f.submit nil, :class => 'btn btn-primary pull-right btn-large'
navbar belongs_to groups and link belongs_to navbar
控制器:
类链接控制器<应用程序控制器
在\u筛选器之前:获取\u组
过滤器之前:获取导航栏
在\u筛选器之前:获取\u链接,仅:[:显示,:编辑,:更新,:销毁]
def show
end
def new
@link = Link.new
end
def create
@link = @navbar.links.build(params[:link])
if @link.save
redirect_to @navbar, notice: 'link was successfully updated.'
else
render :new
end
end
def edit
@image = @link.build_image unless @link.image
end
def update
respond_to do |format|
if @link.update_attributes(params[:link])
format.html { redirect_to @navbar, notice: 'link was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @link.errors, status: :unprocessable_entity }
end
end
end
def destroy
@link.destroy
redirect_to navbar_path(@navbar)
end
private
def fetch_group
@group = Group.find(params[:group_id])
end
def fetch_navbar
@navbar = Navbar.find(params[:navbar_id])
end
def fetch_link
@link = @navbar.links.find(params[:id])
end
end
有什么简单的东西我忽略了吗?只要替换就行了
- simple_form_for new_group_navbar_link_path(@group, @navbar, @link) do |f|
与
哈也许我只是有点累。非常感谢。
= simple_form_for new_group_navbar_link_path(@group, @navbar, @link) do |f|