1

railsは足場コントローラーを生成
しますsportlername:stringrailsはモデルeinheitを生成します...sportler_id:integer

/app/controllers/sportlers_controller.rb
..
def add_einheit
sportsler = Sportler.find(params [:id])
@einheit = Einheit.new(:sportler => sportsler)
render:template => "einheits / edit"
end
..

/app/views/sportles/index.html.erb-このソースコードをルートエラーの下にカットすると、
doesnetが表示されなくなります

..

<td><br>
  <%= link_to "Trainingseinheit hinzufügen", :action => "add_einheit", :id => sportler %><br>
</td><br>

..

ルート.rb

FITAPP2 :: Application.routes.draw do
resources:sportlers

ルーティングエラー

{:action => "add_einheit"、:id =>#groesse: "3"、created_at: "2012-12-27 15:56:04"、updated_at: "2012-12-27 15:56:に一致するルートはありません04 ">
、:controller =>" sportslers "}
利用可能なルートの詳細については、レーキルートを実行してみてください。

4

4 に答える 4

1

ルーティングエラーが示唆するように、「利用可能なルートの詳細については、rakeルートを実行してみてください」。重要なのは、add_einheitメソッドのルートルールを明らかに指定していないということです

于 2012-12-27T16:21:23.150 に答える
0
resources :sportlers 

このコードは、CRUDアクション(create、new、edit、update vss ...)に関するルートのみを作成します。「add_einheit」アクションを使用するには、routes.rbを編集します。

resources :sportlers do
    member do
        get "add_einheit"
    end
end

「id」のようなパラメータを送信する場合は「memberdo」を使用し、そうでない場合はroutes.rbファイルで「collectiondo」を使用します。

于 2012-12-27T16:21:16.973 に答える
0

view / sportslers / add_einheit.html.erbのようなsportlersviewフォルダーの下にhtmlファイルがありますか?

于 2012-12-27T23:12:10.257 に答える
0

Kadersソリューションを採用しました。機能しますが、次のルーティングエラーが発生します。action => sportslers/update_einheitは機能しません。原則がわかりません。

FITAPP2 :: Application.routes.draw do resources:sportlers do member do get "add_einheit" get "update_einheit" end end end

2番目のエントリで上記のルートを拡張しようとしていますgetupdate_einheit-itdoenst function Routing Error

一致するルートがありません{:action => "update_einheit"、:id =>#、:controller => "sportlers"}使用可能なルートの詳細については、rakeルートを実行してみてください。

レーキルート:

add_einheit_sportler GET / sportslers /:id / add_einheit(.: format)sportlers

add_einheit

update_einheit_sportler GET / sportslers /:id / update_einheit(.: format)sportlers

update_einheit

          sportlers GET    /sportlers(.:format)                    sportlers

索引

                    POST   /sportlers(.:format)                    sportlers

作成

       new_sportler GET    /sportlers/new(.:format)                sportlers

新着

      edit_sportler GET    /sportlers/:id/edit(.:format)           sportlers

編集

           sportler GET    /sportlers/:id(.:format)                sportlers

公演

                    PUT    /sportlers/:id(.:format)                sportlers

アップデート

                    DELETE /sportlers/:id(.:format)                sportlers

破壊する

于 2012-12-28T18:40:31.237 に答える