2011-06-30 43 views
0

所以我基本上想要做的是訂購訂單。在此訂單中,用戶將提交有關其公司成員的信息,並且在訂單表格末尾還會有一部分用戶可以選擇由我的客戶從後端添加的選項服務。我是新來的rails,所以我只希望有人幫助我確保我會用最好的做法來做到這一點。以下是我認爲我需要做的:Rails初學者幫助製作自定義訂單

  1. 作出命令模式
  2. 做一個會員模型
  3. 讓現場模型

在我的訂單模式使

has_many :members 
has_many :fields 

在我的會員模型中使belongs_to :order在我的現場模型中製作belongs_to :order。然後,我需要在我的訂單控制器中執行的操作是@fields = Field.all並將其提取到@fields.each塊中。

P.S.還有一件事我必須做,那就是讓訂單顯示3種類型的標題:公司,LLC和非營利組織。我以爲會是聰明的是,如果在URL中我把它像type=1type=2type=3和在我的模型中使用的if語句,如:

def order_type(type) 
    if type === "1" 
    "corporation" 
    elsif type === "2" 
    "llc" 
    else 
    "nonprofit" 
    end 
end 

我認爲使用if語句是有點兒馬虎所以,如此如果有人可以請向我解釋最好的做法。請不要嘗試用railscasts插曲回答,因爲我已經檢查了很多他們。我想是一個解釋,如果這意味着可能

謝謝你們了很多

回答

0

是你的領域確實太複雜,他們需要自己的模式?如果你的「字段」是一個列列表,只需在模型中包含它們作爲一列即可應用。

使用您建議的URL方法的問題如下。假設用戶創建一個模型對象並將其分配爲「LLC」。然後,您的網址將按照您的建議在其中的某個位置顯示type = 1。現在用戶爲這個URL書籤,之後有人意識到這是一個錯字,而不是LLC,標題應該是別的。現在你有一個不可靠的情況,你在互聯網上創建死鏈接,或者你有編碼的URL。應該使用URL編碼來查詢數據,而不是確定數據應該是什麼。

我不會爲標題問題搞砸網址。相反,只需將一個標題字段添加到主模型中,該字段將顯示並使該字段爲LLC等。然後在該視圖中,只有一個變量可以加載所顯示對象的值。

+0

所以基本上我應該有一個郵寄請求確定的標題名稱?例如,他們點擊一個他們想要的訂單表單的選擇框,然後它將它們傳遞給訂單表單,而沒有任何指示,如果它的URL是一個corp,llc或nonprofit? – Jake

+0

這將是一個GET請求,並且如果標題信息作爲模型的一部分存儲,則不會發出單獨的請求。這只是您顯示的對象的另一個屬性。您可能會使用不同的模板來選擇性地顯示不同的字段,但如果llc或corp之間的唯一區別是標題文本,那麼您需要一個名爲「order_type」的屬性字段。用戶創建一個新的訂單'域名/訂單/新',並從下拉菜單中選擇一個類型並保存。如果用戶只想看到非利潤,則可以通過'order_type'列篩選所有訂單。 –