41711


index.html.erbビューで一連に表示された２頁目のある項目を個別表示(show.html.erb)したとします。  
この(show.html.erb)中に設定してある戻り戻リンク(link_to
...)でindex.html.erbビューの２頁目を表示することは出来ますか？  
gem のwill_paginateか kaminariページネーション機能で出来ればよいのですが。

[code]

    def index
      @members = Member.page(2)
    end
    
[/code]

での表示では２頁目に固定されしまいます。  
showビューを別Windowにする事はセキュリティー上問題が生じます。  
よろしくお願いします。

railsバージョン Rails 5.1.4  
nagao


CC BY-SA 4.0
2018-02-08T06:13:08.577
41568
2020-10-28T01:50:11.110
2020-10-28T01:50:11.110
3060
14412
question
ruby-on-rails
数頁あるindexビューからリンクしたshow個別ビューより元の同じ頁のindexビューに戻すことは可能ですか？


自己解決できました。  
下記のようなソース(元は rails g scaffold Member name:string)  
変更で可能のようです。(kaminariの使用方法についてはネットにたくさん情報があります)

**Gemfile**

[code]

     .
     gem 'kaminari'
     .
    
[/code]

**index.html.erb**

[code]

    <tbody>
        <% @members.each do |member| %>
          <tr>
            <td><%= member.name %></td>
            <td><%= link_to("Show", member_path(member,current_page: @members.current_page)) %></td>
            <td><%= link_to 'Edit', edit_member_path(member) %></td>
            <td><%= link_to 'Destroy', member, method: :delete, data: { confirm: 'Are you sure?' } %></td>
          </tr>
        <% end %>
      </tbody>
    </table>
    <br>
    <%= link_to 'New Member', new_member_path %>
    <%= paginate @members %>
    
[/code]

**show.html.erb**

[code]

    <p>
      Name:
      <%= @member.name %>
    </p>
    
    <%= link_to 'Edit', edit_member_path(@member) %> |
    <%= link_to 'Back', members_path(page: @current_page) %>
    
[/code]

**app/controllers/members_controller.rb**

[code]

     .
     .
    # GET /members
    # GET /members.json
      def index
         @members = Member.page(params[:page]).per(3)
      end
     .
     . 
    def show
       @current_page = params[:current_page]
    end
    
[/code]


CC BY-SA 4.0
2018-02-14T13:16:58.993
41711
2020-10-28T01:47:23.047
2020-10-28T01:47:23.047
3060
14412
41568
answer