2013-07-25 2 views
0

더 우아한 방법이 있다는 것을 알고 있습니다. 그러나 그것을 이해할 수는 없지만, 내 뇌는 "S"기어에 걸려 있어야합니다.레일 데이터로보기에서 컨트롤러의 동작에 연결

<% @imageline.each do |album| %> 
    <%link_s = '/prepdownload?tag=gorilla'%> 
    <%=link_to (link_s) do %> 
    <%= image_tag src ='gorilla.jpg' %> 
    <%end%> 
<%end%> 

나는 얻은 이미지의 ID를 전달해야하는 컨트롤러 작업 prepdownload가 있습니다. 내가 그 행동을 강요하자마자, 다른 방법들이 나를 무너 뜨린다.

{ "tag"=> "gorilla", "controller"=> "profiles", "action"=> "prepdownload"} 결과를 위의보다 우아한 방법으로 리버스 엔지니어링 할 수 없습니다.

답변

0

검색어 문자열을 원하는 것처럼 보입니다.

당신은 수동으로 URL의이 같은 해시 밖으로 작성할 수

<%= link_to {controller: "profiles", action: "prepdownload", tag: "gorilla"} do %> 
    <%= image_tag src ='gorilla.jpg' %> 
<% end %> 

하지만 우아한 방법은 다음 쿼리 문자열을 전달 명명 된 경로를 호출 명명 된 경로를

# config/routes.rb 
get 'prepdownload', to: 'profiles#prepdownload', as: :prepdownload 

을 사용하는 것입니다 매개 변수 :

<%= link_to prepdownload_path(tag: "gorilla") do %> 
    <%= image_tag src ='gorilla.jpg' %> 
<% end %> 
+0

좋습니다. 너무 쉽습니다. :) 단지 그것을 확장하기 만하면됩니다. 나는 (tag : "gorilla", name : "coco")를 수행하여 질의 문자열에 추가했다. 그것은 모두 잘 작동합니다. 나는 지명 된 길을 가졌지 만, 나는 어떤 이유로 그것을 사용하려하지 않았다고 생각한다. – bobbdelsol

+0

BTW, 내가 무슨 말을 해냈어, 내가 예기치 않은 오류가 발생했습니다 : ','기대 '}'그리고 나는 그 차이가 있다면 레일즈 4.0을 사용하고 있다고 언급하지 않았다. – bobbdelsol

+0

@ user2406315 죄송합니다, 질문 하시겠습니까? – Substantial

관련 문제