私はここにレールプロジェクトを持っています。コントローラでは、 single_output
と定義されており、URLが/single_output/1
の場合は、person_id=1
という情報が表示され、別のメソッドgroup_output
を同じコントローラに追加しますが、single_output
を呼び出す必要があります。基本的に私がしたいのは、URLが/group_output/1
のようなものであれば、それは私にperson_id
を含むgroup_id=1
の情報を与え、これらのperson_id
は私にすべての情報を与えます。rails:同じコントローラ内で別のメソッドを呼び出しながら新しいメソッドを定義する
コントローラー:
def single_output
person_id = param[:person.id]
result = Person.where(:person_id => person_id)
end
def group_output
group_id = params[:group_id]
person_ids = Group.where(:group_id => group_id)
person_ids.each do |person_id|
output = get '/single_output/' + person_id
end
end
ルート:
私のソリューションはこれです
match "School/single_output/:person_id(.:format)" => "School#single_output"
match "School/group_output/:group_id(.:format)" => "School#group_output"
しかしget
方法がこれを行うには良い方法ではありませんように思えます。
または私は別のアイデアを思い付く:
redirect_to '/single_output/' + person_id
しかし、それはこれを行うにはRender and/or redirect were called multiple times in this action.