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