2016-04-02 19 views
-1

ネストされたリソースを使用して編集リンクを作成できません。アカウントには多数のユーザーがおり、アカウントの表示ページからユーザーへの編集リンクを作成したいと考えています。以下は私のアカウントの表示ビュー、アカウントコントローラです。あなたが提供できるどんな助けも素晴らしいでしょう。ありがとうございました。IDなしのユーザーが見つかりませんでした。すべてを試しました

アカウント/ビュー/表示

<h2>Users</h2> 
    <% @account.users.each do |f| %> 
    <% next if f.name.nil? %> 

     <p> 
     <%= link_to f.name, edit_account_user_path(@user.account, @user) %> 
    </p> 

アカウントコントローラショー

def show 
    @user = @account.users.find(params[:account_id]) 
    account = Account.find(params[:account_id]) 

    end 

ルート

resources :accounts 
    resources :users 

    resources :accounts do 
    resources :users 
    end 

アカウントモデル

class Account < ActiveRecord::Base 
    has_many :users, dependent: :destroy 
    accepts_nested_attributes_for :users 
end 

ユーザーモデル

class User < ActiveRecord::Base 
    belongs_to :account 
end 
+0

1回の警告を。フォームフィールドが空白のとき空文字列をデータベースに格納する傾向があり、したがって 'nil? 'はtrueを返します。 '<%next if f.name.blank? %> 'はより適切です。 –

答えて

1

あなたはイテレータ内編集リンクを作成しようとしているとあなたが@accountに関連する各userを参照する変数としてfを持っています。

だから、代わりにこのようなものが必要です - ? `nilの`モデル属性で約

<% @account.users.each do |f| %> 
<% next if f.name.nil? %> 

    <p> 
    <%= link_to f.name, edit_account_user_path(@account, f) %> 
</p> 
<% end %> 
+0

OMG。それはいつも私のためにとても小さくて愚かなものです。あなたのソリューションは完璧に機能します。ありがとう@ dkp! – richiepop2

+0

命名を除いて、このfは 'user'でなければなりません。 –

+0

@ richiepop2これは小さな問題を解決してうれしいです:) – dp7

関連する問題