2014-02-17 8 views
0

나는에서 오는 하나의 오브젝트 @files를위한 컨트롤러로 전달 (나는 모든 점검을했다, 그것은 짧은 만들려면) : 내가 원하는 각 @files를 들어추가 매개 변수는 새 객체 생성

@idFiles = params[:file_ids] 
@Files = File.find(@idFiles) 

을 중복 /과 .create하지만, 그 꼭대기에, 나는 사용자가 선택하는 옵션을 추가 할 :

@Files.each do |fc| 
FileTemp.create(:filename => fc.name , :selectedOption => fc.myOption) 

것은 내보기에 나는 1 (선택) 'myOption'을 가지고 @Files의 각 요소에 대한 값 :

,
<% @Files.each do |f| %> 
<td><%= f.name %></td> 
<td><%= f.path %></td> 
[...] 
<%= select_tag f.myOption , options_for_select(f.MultipleOptions.split(";")) %> 
<% end %> 

그러나 나는 나의 새로운 'FileTemp'객체

많은 감사 사전에 (내가 주 동안 차단 한을 만들 수 있도록, 내 컨트롤러에 그 선택된 값을 전달하는 방법을 알아낼 수 없습니다. .)

추신. 처음에는 Ajax를 사용하여 (다른 객체를 다시 만들 필요없이) 그 값을 업데이트하려고했지만이 방법이 더 쉬울 것이라고 생각했습니다.

답변

0

나는 단지 select_tag를 통해 추가 매개 변수를 전달하는 간단한 예제를 시도했다. 지금 당신은 개발에서 볼 수있는 양식이 전달되는 매개 변수를 기록 제출하는 경우

은 내 양식에 난 그냥 예를

<div class="field"> 
    <%= select_tag :any_name, options_for_select([1, 2]) %> 
</div> 

에 필요한 select_tag 호출을 추가 할 수 있습니다.

Parameters: 
{ ... "any_name" => "1", "product" => { ... }, "commit"=>"Create Product" } 

이제 요청한 컨트롤러 동작에 params [: any_name]이 표시됩니다.

귀하의 필요에 맞는 것을 결정해야합니다. 더 자세히 조사하십시오 here in Rails API

+0

이 krabbi에 감사드립니다. form_for가 아닙니다 (Do 루프 일뿐입니다). 내 파일을 반복하고 하나의 매개 변수 만 업데이트하려고합니다. – user2567674

+0

어쩌면 나는 당신의 요구 사항을 얻지 못했지만 일반적으로 컨트롤러 작업을 요청합니다. 예를 들어 링크 또는 양식 제출 (또는 자바 스크립트 동작)을 예로들 수 있습니다. 따라서 올바른 요청을 사용하여 링크 또는 양식을 만들어야합니다. 필요한 매개 변수를 전달해야합니다. – krabbi