这让我发疯了......
我已经使用标准路由构建了一些测试应用程序,但这一次想要将b嵌套在一个。所以像这样(a和b是为了方便的例子)
resources :a do
resources :b
end
在'b控制器'中我将索引定义为
def index
@b = B.all
end
在索引页面上我有
<p>B index</p>
<ul class="b">
<% @b.each do |b| %>
<li>
<%= link_to b.name, b %>
</li>
<% end %>
设置控制器参数
def B_params
params.require(:b).permit(:name, :description, :this, :that, :a_id)
end
因此,在查看index.html'b_path'的未定义方法
时会出现错误消息我很确定它是一个路由问题,因为我的所有其他索引页面都能正常工作。那么路由嵌套b_path的正确方法是什么。
我试过了
get '/a/:id/b', to: 'b#index' -----fails
get '/a/:a_id/b', to: 'b#index' ----fails
get '/b', to: 'b#index' ----- not surprising fails
所以我错过了什么。一旦嵌套资源,还有其他事可做或链接的其他方式
由于