簡體   English   中英

如何在Rails link_to中添加參數id

[英]How to add params id in rails link_to

我有一個包含Company_id作為外鍵的Job模型。 在公司展示頁面上,我想使用鏈接到Job新頁面的link_to標記,以便可以使用simple_form使用company_id創建新工作。

<%= link_to "Create Job", new_company_job_path %>

我收到此錯誤“沒有路由匹配{:action =>“ new”,:controller =>“ jobs”,:id =>“ 13”},缺少必需的鍵:[:company_id]“這是我的嵌套路由

  resources :companies do
   resources :jobs, only: [:new, :create, :update, :destroy]
  end

從鐵路路線,這是到工作新頁面的路線

         new_company_job GET    /companies/:company_id/jobs/new(.:format) jobs#new

這是job_new頁面中的簡單形式

  <%= simple_form_for (@job)  do |f| %> etc  

我想知道如何將company_id包含在link_to標記中,以便在作業new_page中使用simple_form來創建新作業。

Rails路由可以接受參數; 如果您想顯式地將參數傳遞給路由,則可以像將參數傳遞給任何其他方法一樣進行操作:

<%= link_to "Create Job", new_company_job_path(company_id: @company.id) %>

*注意:這假設您在此視圖的某處定義了@company

對於一般資源路線,Rails足夠聰明,可以將這些參數插入正確的位置。 值得注意的是,如果在route.rb中的路由上未定義參數,Rails會將這些傳遞的參數作為查詢字符串添加到路由的末尾。

例如,如果您有一條類似

get 'landing_pages/page' => '#landing_pages#page'

然后您致電:

<%= link_to "Go to your landing page", landing_pages_page_path(brand: 'Apple') %>

該路線將變為/landing_page/page?brand=Apple

有關更多參考: http : //guides.rubyonrails.org/routing.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM