【问题标题】:Rails - Access to routes from seedfileRails - 从种子文件访问路线
【发布时间】:2018-01-24 03:04:50
【问题描述】:

我想播种一个包含许多文件的页面,现在我这样做:

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)) }

它们都返回错误或 nil。我做错了什么?

【问题讨论】:

    标签: ruby-on-rails ruby seed


    【解决方案1】:

    使用 url 助手:

    Rails.application.routes.url_helpers.my_page_path
    

    对于网址:

    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

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 2011-08-29
      相关资源
      最近更新 更多