2016-03-26 5 views
0

私は今でも非常に新しいRubyを使い始めており、ここで何をしようとしているのかは非常に簡単です。私は、アプリのようなFacebookを作成しようとしています。あなたが投稿のプロフィール画像をクリックすると、それはあなたをユーザーのプロフィールページに誘導します。私はちょうどオンラインコースで本当に似たようなことをやったことがありますが、私はこれを別の視点で動かすように思えます。ここで私のヘッダー、navbarで動作しているものです。"myparamsimtryingtopass"のための `symbolize_keys 'は未定義です。String

ナビゲーションバー

<nav class="navbar navbar-default navbar-fixed-top"> 
    ...... 
    <li><%= link_to "Show Profile" , 
      user_profile_path(current_user.id, current_user.full_name) %></li> 
    .... 
</nav> 

このコードは動作し、対応するユーザのプロフィールページに私を指示します。

ルート

Rails.application.routes.draw do 
    .... 
    root 'statuses#index' 

    get '/:id/:full_name', to: 'profile#show' , as: :user_profile 
    ..... 
end 

問題ビュー

<div class="page-header"> 
.... 
<% @statuses.each do |status| %> 
    <div class="row"> 
     <div class="col-md-1"> 
     <%= link_to image_tag(status.user.avatar.url(:thumb), 
      user_profile_path(status.user.id, status.user.full_name)) %> 
     //the above is what gives me the error in the title. 
     </div> 
<% end %> 

私の周り探しの私の公正な取り分を行っているとイムは、文字列を渡した場合、それはHASHKEYSを受け入れたときには、このエラーが発生しているようです?私は完全にはわかりません。これを行うにはもっと良い方法があれば、私は非常に新しくて学習に慣れているので、私に見せてください。

答えて

2

あなたはlink_toヘルパーの使い方が間違っています。代わりに:

<%= link_to image_tag(status.user.avatar.url(:thumb), user_profile_path(status.user.id, status.user.full_name)) %> 
              ^first argument       ^second argument         

用途:

<%= link_to user_profile_path(status.user.id, status.user.full_name) do %> 
    <%= image_tag(status.user.avatar.url(:thumb)) %> 
<% end %> 

あなたが見ることができるように、あなたは、これは間違っているIMAGE_TAG、2番目の引数として_pathヘルパーを渡します。 image_tagの2番目の引数はハッシュである必要があります。その理由はundefined method 'symbolize_keys' forのエラーです。

関連する問題