0

こんにちは、ここにはこの問題に関する質問がたくさんありますが、役に立ちません。

signed_inユーザーの場合、このフォルダーに属するブックマークを含む と のホームページがありますbookmarksfolders

homeメソッドはstatic_pagesコントローラーにあり、次のようになります。

def home
    if signed_in?
      @folder = current_user.folders.build
      @folders = current_user.folders.all
      @bookmark = current_user.bookmarks.build
      @bookmarks = current_user.bookmarks.all
    end
  end

これは一部ですhome.html.erb

<div class="span3">
        <table class="table table-hover table-condensed">
          <%= render @bookmarks %>
        </table>
      </div>
      <div class="span3">
        <table class="table table-hover table-condensed">
          <%= render @folders %>
        </table>
      </div>

bookmarksだから私は allと allを持つ 2 つのテーブルを持ってfoldersいます。current_user

これはフォルダ_folder.html.erbからのものですfoldersviews

<tr data-toggle="tooltip" data-placement="right" data-html="true">
  <td data-href="<%= folder %>" class="bookmark"><i class="icon-folder-close"></i>
    <%= link_to folder.name, folder_path %>
  </td>
  <td>
    <%= link_to '<i class="icon-edit"></i>'.html_safe, '#' %>
  </td>
  <td>
    <%= link_to '<i class="icon-trash"></i>'.html_safe, folder_path, method: :delete,
                data: {confirm: 'Are you sure?'},
                title: 'Delete folder ' + folder.name.to_s %>
  </td>
</tr>

folders_controller.rbshowメソッドを使用:

def show
    @folder = Folder.find(params[:id])
    @bookmarks = @folder.bookmarks.all
  end

resources :folders存在しますroutes.rb

ホームページlocalhost:3000/folder/1をクリックして に行くだけです。folder_name

これは私が得るものです:

Routing Error
No route matches {:action=>"show", :controller=>"folders"}

すべてにおいてrake routes大丈夫です。

ブラウザに入れるlocalhost:3000/folder/1と、正しく動作します。

ありがとうございました!

4

1 に答える 1