2017-06-17 24 views
1

我有一個AJAX上正在顯示,如下圖所示選擇未定義一個Rails應用程序選擇,爲什麼在rails上顯示undefined選擇?

enter image description here

我加入了order範圍來解決,但如果我刪除order列表顯示不出來,如果我把created_atname asc,它顯示undefined

有人知道爲什麼嗎?

上的控制器是:

def index 
    genders = Gender.where(block_id: params[:block_id]).select('id, gender').order('created_at asc') 
    render json: genders 
end 

的觀點是:

<%=dynamic_collection_select :product, :gender_id, :category, [], :id, :gender, { include_blank: false, submit_with_form: true, :prompt=> 'Select' }, { class: 'form-control select_item' } %> 

性別對象

class Gender < ActiveRecord::Base 

    has_many :categories 
    belongs_to :block 

    accepts_nested_attributes_for :categories 

    attr_accessible :gender, :categories_attributes 

end 
+0

@lobbey已更新我的答案希望它有助於goodluck – BKSpurgeon

回答

1

你有activerecord集合對象,需要轉換爲JSON,

def index 
    genders = Gender.where(block_id: params[:block_id]).select('id, gender').order('created_at asc') 
    render json: genders.as_json 
end 
+0

Md。Farhan Memon感謝您的答覆,但仍然一樣。 – lobeyy

+0

你可以發佈你的性別對象嗎? –

+0

是的,只是片刻 – lobeyy

1

確保您使用的是實例變量,以便它在視圖中可見:@genders,其次確保您在視圖中調用該對象:例如, dynamic_collection_select @genders .....等

摘要:

  1. 把一個@符號在變量前面:@genders
  2. 調用,在collection_select helper方法變量。 @genders

編輯

也是爲什麼你呈現爲JSON?如果你正在使用jQuery,不應該使用渲染到html.erb模板?

+0

你好BKSpurgeon對不起,我不明白你的答案,你的意思是讓性別變成全球變量@@性別? – lobeyy

+0

BKSpurgeon呈現爲json becausse對於長列表更快。 嗯是的,我使用jquery,但json更適合渲染 – lobeyy

+0

你能粘貼webrick輸出嗎?> – BKSpurgeon

相關問題