0
두 가지 콘테스트 및 제출 모델이 있습니다. 제출 belongs_to 컨테스트 및 컨테스트 has_many 제출. 색인에있는 검색을 위해 컨테스트 ID를 URL에 전달하십시오.
def index
contest_id = params[:contest_id]
@contest = Contest.find(contest_id)
if params[:search].blank?
@submissions = Submission.paginate(:per_page => 10, :page => params[:page])
else
@submissions = Submission.search(params[:search]).paginate(:per_page => 10, :page => params[:page])
end
@search = params[:search]
end
내가 생각하는 제출> 인덱스 뷰의 검색 양식을 통해 그것을 전달하는 올바른 방법 :
<div class ="span12 row">
<%= form_tag submissions_path, :method => 'get', :class => "form-search pull-right" do %>
<%= text_field_tag :search, params[:search], :class => 'input-xlarge', :placeholder => 'Search by member, title or description' %>
<%= submit_tag "Search", :title => nil, :class => 'btn btn-primary' %>
<% end %>
</div>
제출 index 액션에서
내가 검색을 그리고 나는 이것을 사용하여 가까이 올 수 있었다 :<%= hidden_field :contest_id, @contest.id %>
형태로, 그러나 그것을 t에서 돌려 보낸다. 그는 URL :
http://localhost:3000/submissions?utf8=%E2%9C%93&search=test&contest_id%5B%5D=&commit=Search
그리고 오류 :
<%= hidden_field(:contest_id, :value => @contest.id) %>
를하지만 유사한 URL 및 오류를 반환하는 것 :
Couldn't find Contest with id=
나는 또한이 시도했습니다.
지금 당장 붙어 있습니다. 아이디어가 있으시면 알려주세요.
[편집 - 추가 HTML]
전에 검색 : 제출 쇼 페이지에서
:
<%= link_to 'Browse All Submissions', submissions_path(:contest_id => @contest.id), :class => 'btn btn-mini pull-right' %>`
다음
<div class ="span12 row">
<form accept-charset="UTF-8" action="/submissions" class="form-search pull-right" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
<input class="input-xlarge" id="search" name="search" placeholder="Search by member, title or description" type="text" />
<input id="contest_id_5" name="contest_id[5]" type="hidden" />
<input class="btn btn-primary" name="commit" type="submit" value="Search" />
</form>
</div>
가 제출가는 다른 링크에서 작동하는 무슨이다
및 콘테스트 쇼 페이지 :
<%= link_to 'Browse All Submissions', submissions_path(:contest_id => @contest.id), :class => 'btn btn-mini pull-right' %>
두 가지 모두 콘테스트를 찾기 위해 컨트롤러가 필요로하는 URL 인 "contest_id = 5"를 전달합니다. 검색에서 문제가되는 것은 contest_id = 5를 표시하는 데 필요한 올바른 구문을 찾는 것입니다.
링크 – Lichtamberg
@Lichtamberg으로 생성 된 HTML 코드를 제시해주십시오 내가 질문에 HTML 출력을 추가 바닥에서. –
경로는 어떻게 생겼습니까? 중첩 된 리소스를 사용하고 있습니까? – gcastro