2012-01-18 18 views
0

新的軌道上,我有在傳遞select_tag值(在視圖文件中)到控制器的問題。在軌道應用程序中傳遞選擇標記值的問題

我的視圖控制器文件就像

class ProjectStatusController < ApplicationController 

    def index 
    @projects = Project.find(:all, :select => "name") 
    end 

    def show 
    lookup = params[:project] 
    @rows = Project.find_by_lookup(lookup) 
    end 
end 

和查看文件就像

<% form_tag("project_status", :controller => "ProjectStatus", :action => "show", :method=>'get') do %> 
<%= select_tag 'project', options_from_collection_for_select(@projects,"id", "name"),:onchange => "this.form.submit();" %> 
<% end %> 
<% 
if [email protected]? 
@rows.each do |row| 
end 
%> 
<%= row[:name] %> 
<% end %> 

我基本上要實現的就是這一點 - 基於從選擇標籤 選擇的價值,我想從數據庫中選擇項目的顯示信息(在同一視圖頁面上)

+0

顯示您的routes.rb文件,請 – alexkv 2012-01-18 12:21:15

回答

0

首先你應該寫<%= form_tag而不是<% form_tag

比,這是奇怪的是,你的提取物選擇字段idoptions_from_collection_for_select(@projects,"id", "name")

但在方法告訴你通過現場查找搜索記錄

+0

以及關於選擇標記,我通過數據庫填充我的選擇標記從其他類。你可以假設選擇標籤有一些值。然後我想將選定的值傳遞給控制器​​。 – Hitesh 2012-01-18 12:25:02

+0

好的,顯示您的routes.rb文件,請 – alexkv 2012-01-18 12:27:51

+0

也使用<%= form_tag%>我得到編譯錯誤 – Hitesh 2012-01-18 12:33:34

0

你可以用這種東西來得到這個問題的固定

 <%= check_box_tag "projectids[]",project.id %> 

這將顯示每個條目的複選框。複選框通過它的id鏈接到項目對象。在控制器方法中,您將收到項目標識。

然後,直接使用submit標籤將參數傳遞給方法。