我正在尝试创建一个选择框,在我的“政策”视图中显示我的表格Ejecutives中的所有ejecutive_name
和last_name
,但我需要创建一个搜索按钮,以便从Ejecutives中获取参数我选择了
我的模特有关系:
class Policy < ActiveRecord::Base
unloadable
belongs_to :ejecutive
has_many :policy
end
class Ejecutive < ActiveRecord::Base
has_many :policies
end
我的表格与ejecutive_id
之间存在关系:
class CreateEjecutives < ActiveRecord::Migration
def self.up
create_table :ejecutives do |t|
t.string :name,:null=>false
t.string :lastname1,:null=>false
t.timestamps
end
end
def self.down
drop_table :ejecutives
end
end
class CreatePolicies < ActiveRecord::Migration
def self.up
create_table :policies do |t|
t.string :num_policy, :null=>false
t.integer :ejecutive_id
t.timestamps
end
end
def self.down
drop_table :policies
end
end
这是我的控制者:
class PolicyManagement::PolicyController < ApplicationController
@ejecutives = Ejecutive.find(:all)
@policies = Policy.find(:all)
end
这是我的观点:
Select Ejecutive:
%= select_tag 'ejecutives',"<option value=\"\">Seleccione</option>"+options_for_select(@ejecutives.collect {|t| [t.name.to_s+" "+t.lastname1.to_s,t.id]})%>
Results
<% @policies.each do |policy| %>
<p> <%= policy.num_policy%> </p>
<p> <%= policy.ejecutive.name %> </p>
<p> <%= policy.ejecutive.last_name %> </p>
<% end %>
我试过这个
<% form_tag :controller=>"policy_management/policy",:action =>"generate_print_ejecutive_comercial", :method => 'get' do %>
<p>
<%= text_field_tag :search,params[:search] %>
<%= select_tag "Ejecutives", options_from_collection_for_select(@ejecutives, "id", "name") %>
#Here i in select_tag "ejecutives" need to add searh params..
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
我正在使用Rails 2.3.5。
有人知道这个问题吗?我真的很感激帮助。
答案 0 :(得分:1)
如果我理解正确,你想要一个选定的主持人的政策,你可以通过说Ejecutive.find()。政策来做到这一点。如果需要搜索按钮,请将您的选择框放在表单标签中并发布。在控制器操作中,您将获得所选的ID,您可以使用该ID执行上面提到的行。希望这会有所帮助。