2012-08-31 14 views
1

我需要使用JS傳遞PARAMS到軌控制器:

def page 
    @select = Firstpage.where(:pid=>params[:par_id]) 
    respond_to do |format| 
    format.html # page.html.erb 
    format.json { render json: @select } 
    end 
end 

js.coffee代碼:

fetchselect=(val) -> 
    $.getJSON('firstpages_controller.rb', par_id:val) 

$('.homeNav').find('.unactive').click -> 
    id = $(this).attr('id') 
    fetchselect(id) 

回答

0

的是服務器的CoffeeScript -側?如果它被提供給客戶端,那麼你不應該直接向控制器發出請求 - 相反,你應該提出一個rails服務器應該解析的資源請求給正確的控制器。

詳細說明:當您在客戶端的服務器上生成rails鏈接時,您可能會對pages_path的效果產生一些影響,這會生成一個URL以達到「http:// base_path/pages」 。這對於Rails非常重要 - 用戶可以訪問的每個對象都具有RESTful表示形式,或者更簡單地說,有一個URL用於標識它。資源的JSON表示形式也不例外 - 要獲取JSON,傳遞給getJSON的url必須採用相同的格式。就客戶而言,「pages_controller」不存在 - 這是他們無法直接訪問的背景細節。

+0

但我想要一個Ajax頁面,而不是一個新頁面,我如何獲得參數? – xieyu33333