0

我正在尝试创建一个选择框,在我的策略视图中显示我的所有ejecutive_namelast_nameEjecutives,但我需要创建一个搜索按钮以从我选择的 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。

有人知道这个问题吗?我真的很感激帮助。

4

1 回答 1

1

如果我理解正确,您想要选定 ejecutive 的政策,您可以通过说 Ejecutive.find().policies 来做到这一点。如果需要搜索按钮,请将您的选择框放在表单标签中并发布。在控制器操作中,您将获得选定的 id,您可以使用它执行我上面提到的行。希望这会有所帮助。

于 2013-09-19T17:49:38.087 回答