0

これらは私のルートの一部です。

   activity_groups GET    /activity_groups(.:format)                                activity_groups#index
                           POST   /activity_groups(.:format)                                activity_groups#create
        new_activity_group GET    /activity_groups/new(.:format)                            activity_groups#new
       edit_activity_group GET    /activity_groups/:id/edit(.:format)                       activity_groups#edit
            activity_group GET    /activity_groups/:id(.:format)                            activity_groups#show
                           PUT    /activity_groups/:id(.:format)                            activity_groups#update
                           DELETE /activity_groups/:id(.:format)                            activity_groups#destroy
                      root        /                                                         main#index

最小限のビュー:

activity_groups / show

%h2 Activity Ggroup

%h3= @activity_group.title

= link_to "Edit", edit_activity_group_path(@activity_group)
|
= link_to "Delete", activity_group_path(@activity_group), {confirm: (I18n.t "confirmations.activity_group.delete"), method: :delete}
|
= link_to "Back", activity_groups_path

インデックスはもう少し複雑です。

activity_groups / index

.row
    .span8
        %h1.padding_bottom1 Activity Groups

        - if !@activity_groups.empty?

            %ul.span6
                %li.span1 F
                %li.span2 Name
                %li.span2 Actions

            = render @activity_groups
            = render @activities
        - else
            %h2.extra_padding You have no Activity Groups yet. Add one and start managing your time. 

    .span6.padding_top1
        =link_to "Create Activity Group", new_activity_group_path, {class: 'btn'}
        =link_to "Create Activity", new_activity_path, {class: 'btn'}

activity_groups / _activity_group.html.haml

%ul.span6
    %li.span1
        %i.icon-folder-close.folder
    %li.span2
        = activity_group.title
    %li.span2
        PROBLEM

    - if !activity_group.activity_groups.empty?
        - activity_group.activity_groups.each do |activity_group|
            = render partial: 'activity_group', locals: {activity_group: activity_group}

    - if !activity_group.activities.empty?
        - activity_group.activities.each do |activity|
            = render partial: 'activities/activity', locals: {activity: activity}

問題ここに配置するlink_to "Show", activity_groups_path(activity_group)と、ルートがおかしくなります。私のactivity_groups_pathはなくなりました。もうアクセスできません。インデックスビューではなく、ショービューにリダイレクトしようとします。なぜこれが起こるのか本当にわかりません。何か案は?

[編集1]

クリーンなデータベースから始めました。表示ページへのリンクを配置しようとすると、NameErroractivity_group_path'`が表示されますundefined local variable or method

[EDIT2]上記のスペルミスを修正

4

2 に答える 2

1

オブジェクトをリンク パスに渡していますか?

activity_group_path(@activity_group)
于 2012-10-10T01:02:26.570 に答える
1

上記で使用したと述べactivity_groups_path(activity_group)ました-これはactivity_group_path(activity_group)(グループではなくグループ)である必要があります。/an/ の問題かもしれませんが、唯一の問題ではないかもしれません。(おそらく唯一ではないかもしれませんが、同じパーシャルの再帰呼び出しのように聞こえ、子 activity_groups を :local として渡すと、最終的に無効なアクティビティ グループ オブジェクトを使用してルートが呼び出される可能性があります。ただの予感)

余談ですが、私は Rails のルートで同様のイライラする時間を何時間も費やしてきましたが、それは常に私が行った何かばかげたことに帰着します (構文にも問題がありますが、それは単に英語の近似が悪いだけです)。休憩する、何か食べる、昼寝をする…その時は当たり前かもしれません。

于 2012-10-10T01:16:47.077 に答える