我需要使用JS
将参数传递给轨道控制器:
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)
coffeescript是服务器端的吗?如果它被提供给客户端,那么你不应该直接向控制器发出请求,相反,你应该发出资源请求,rails服务器应该将其解析为正确的控制器。
详细说明:当你在服务器上为客户端生成rails链接时,你可能会做一些类似pages_path的事情,它会生成一个类似"http://base_path/pages".这对rails来说是非常基本的——用户访问的每个对象都有RESTful表示,或者更简单地说,有一个url来标识它。资源的JSON表示也没有什么不同——要获得JSON,传递给getJSON的url必须以相同的方式格式化。就客户端而言,"pages_controller"并不存在-这是他们无法直接访问的后台细节。