Rails - 从种子文件访问路由
Rails - Access to routes from seedfile
我想为一个有很多文件的页面播种,现在我这样做:
PageFile.create!([
{ file_body: seedfile('/file1.jpg'), page_id: Page.where(path: 'my_page').take.id }
但我认为它不灵活,我希望它依赖于 routes.rb 数据:
get 'my_page' => 'pages#my_page', as: :my_page
我试过了:
page_id: Page.where(path: my_page_path) }
page_id: Page.where(path: :my_page_path) }
page_id: Page.where(path: Page.select(:my_page_path)) }
全部 return 个错误或为零。我做错了什么?
使用 url 助手:
Rails.application.routes.url_helpers.my_page_path
对于url:
Rails.application.routes.url_helpers.my_page_url
注意:url将添加默认主机,要更改主机,您需要在application.rb
中添加以下内容:
Rails.application.routes.default_url_options[:host] = "mysite.com"
要通过 rake 访问它,您可以 include Rails.application.routes.url_helpers
在文件中并正常访问 my_page_path
。
我想为一个有很多文件的页面播种,现在我这样做:
PageFile.create!([
{ file_body: seedfile('/file1.jpg'), page_id: Page.where(path: 'my_page').take.id }
但我认为它不灵活,我希望它依赖于 routes.rb 数据:
get 'my_page' => 'pages#my_page', as: :my_page
我试过了:
page_id: Page.where(path: my_page_path) }
page_id: Page.where(path: :my_page_path) }
page_id: Page.where(path: Page.select(:my_page_path)) }
全部 return 个错误或为零。我做错了什么?
使用 url 助手:
Rails.application.routes.url_helpers.my_page_path
对于url:
Rails.application.routes.url_helpers.my_page_url
注意:url将添加默认主机,要更改主机,您需要在application.rb
中添加以下内容:
Rails.application.routes.default_url_options[:host] = "mysite.com"
要通过 rake 访问它,您可以 include Rails.application.routes.url_helpers
在文件中并正常访问 my_page_path
。