route初级贴

vim route.rb

  resources :fetched_apps do
    member do
      patch :import
    end 
  end 

spring rake routes

 recommend_apps    GET    /recommend_apps(.:format)              recommend_apps#index
                   POST   /recommend_apps(.:format)              recommend_apps#create

 import_fetched_app  PATCH /fetched_apps/:id/import(.:format) fetched_apps#import

 

第三条路由需要传入id参数才能拼完整

now let's figure out the diference between the p_helper.rb and the f_helper.rb

  def render_recommend_info(package, recommend_type_human)
    recommend_type = RecommendApp::TYPES.invert[recommend_type_human]
    recommend_app = package.recommend_apps.where(type: recommend_type).first

    if recommend_app
      url = recommend_app_path(recommend_app)
      clazz = 'fa fa-check-square-o'
      method = :delete
      title = "取消推荐到'#{recommend_type_human}'"
    else
      url = recommend_apps_path(recommend_app: { type: recommend_type, app_id: package.id.to_s })
      clazz = 'fa fa-square-o'
      method = :post
      title = "推荐到'#{recommend_type_human}'"
    end

      link_to url, remote: true, method: method, title: title, data: { toggle: 'tooltip' } do
        content_tag :i, nil, class: clazz
      end
    end

 
  def render_import_app(fetched_app)
    if fetched_app.already_imported
      url = fetched_app_path(fetched_app)
      clazz = 'fa fa-check-square-o'
      method = :get
      title = "已导入"
    else
      url = import_fetched_app_path(fetched_app)//传入id,可在controller里取到
      clazz = 'fa fa-square-o'
      method = :patch
      title = "可导入"
    end
    
    link_to url, remote: true, method: method, title: title, data: { toggle: 'tooltip' } do
      content_tag :i, nil, class: clazz
    end
  end

now turn to the f_controller.rb

def  import
    params[:id]
    .....
end
原文地址:https://www.cnblogs.com/iwangzheng/p/3796974.html