【问题标题】:Generating link tag for nested routes为嵌套路由生成链接标签
【发布时间】:2014-02-13 00:33:44
【问题描述】:

我有以下路线:

   namespace :gallery do
      resources :collections, only: [:index, :show] do
         resources :albums, only: [:index, :show] do
            resources :photos, only: :show
         end
      end
   end

我正在尝试从相册显示页面链接到照片显示页面。我尝试了各种方法,但无法让任何帮助者生成正确的链接。

专辑展示:

<div class="container--padded">
  <div class="home-intro">
    <h1><%= @album.title %></h1>
    <div class="grid">
      <% @photos.each do |photo| %>
         <div class="grid__item grid__item--photo flex-embed flex-embed--1by1">
            <div class="flex-embed__item">
               <% @dimensions = FastImage.size(photo.source(:small)) %>
               <img src="<%= image_path(photo.source(:small)) %>" class="<%= @dimensions[0] > @dimensions[1] ? 'landscape' : 'portrait' %>" />
               <%= link_to 'Photo', gallery_collection_album_photo_path(photo) %>
            </div>
         </div>
      <% end %>
    </div>
  </div>
</div>

有什么办法可以修复链接吗?

【问题讨论】:

    标签: ruby-on-rails ruby hyperlink routes


    【解决方案1】:

    您需要将所有嵌套对象作为参数传递给 url 助手,即

    gallery_collection_album_photo_path(@collection, @album, photo)
    

    url_for 应该也可以工作:

    url_for([@collection, @album, photo])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      相关资源
      最近更新 更多