チームや選手が別々のフォームを経由して追加されます:
あなたはチームの範囲に新しいプレーヤーや巣のフォームでTEAM_ID選手へのルートを含めると、URLからTEAM_IDを引き出すことができるのいずれかパラメータはparams[:team_id]
です。
ネストされた選手のルート:あなたのチーム/ショービューで
resources :teams do
resources :players
end
(チーム詳細ページ)、プレーヤーのリンクを作成します。選手のフォームで
<%= link_to 'Create Player', new_team_player_path(@team) %>
:
<% form_for [@team, @player] do |f| %>
<!-- your form here -->
<%- end -%>
をPlayersコントローラ:
def new
@team = Team.find params[:team_id]
@player = Player.new
end
def create
@player = Player.new params[:player]
@player.team_id = params[:team_id] # => if just grabbing the id from the url params
if @player.save
# flash and redirect
else
# show form again
end
end
それ以外の場合は、新しいチームとプレーヤーの詳細を1つのフォームで指定するために、@Antoineが示すネストされた属性に関するrailscastを参照してください。 (私はあなたが探しているものは、2つのフォームの最初のオプションだと思うが、私は途方もないかもしれない)
ネストされたリソースルーティングの詳細については、Rails Routing Guideを参照してください。アプリケーションで使用できるルートを確認するには、アプリケーションのルートにあるコマンドラインからrake routes
を実行します。
ありがとうございました! 私はそのヒントを感謝します! –