2011-09-06 42 views
0

這是我前一個問題的演變(雖然我改變了很多,包括模型名稱,所以我想我應該更好地創建另一個線程)..問題的性質也改變了..創建一個表格訪問關係在RoR 3

目前,我努力創建一個表單功能 @ dot2.link!(@點)

該功能可在控制檯罰款。

下面是模型/控制器的信息(我試圖保持它最小):

class User < ActiveRecord::Base 
has_many :dots, :dependent => :destroy 
    .... 
end 

class Dot < ActiveRecord::Base 
    belongs_to :user 
    has_many :linkages 
    ... 
    def link!(new_dot) 
     linkages.create!(:end_id => new_dot.id) 
     end 
    ... 
    end 

聯繫:

class LinkagesController < ApplicationController 
... 
    def create 
     @dot = current_user.dots.find(params[:linkages][:end_id]) 
     @dot2 = Dot.find(params[:id]) 
     @dot2.link!(@dot) 
    end 

的聯繫遷移:

class CreateLinkages < ActiveRecord::Migration 
    def self.up 
    create_table :linkages do |t| 
    t.integer :start_id 
    t.integer :end_id 
      t.timestamps 
     end 

add_index :linkages, :start_id 
     add_index :linkages, :end_id 
     add_index :linkages, [:start_id, :end_id], :unique => true 
    end 
... 
    end 

現在控制檯,如果我做

User.first.dots.first.link!(User.second.dots.second) 

一切工作正常。

我該如何爲它創建一個窗體(只使用dot_id)作爲輸入?

謝謝!

+0

老兄你在最怪異的應用程序工作過...耶穌有什麼點的? – jBeas

+0

Lol))我會發佈一個鏈接,如果它最終解決,我保證..這是一種藝術項目,所以這個詞的選擇是奇怪的.. – Stpn

回答

1

查找collection_select表單助手。它呈現一個不管你喜歡的關聯,默認爲一個選擇框。

+0

是的,實際上幫助。謝謝。結束使用收集.. – Stpn