繁体   English   中英

如何将 URL 中的 id 传递给 controller? 导轨

[英]How to pass an id in URL to controller? Rails

我想处理一些具有相同key_id的数据行。 我希望他们通过使用 URL 中的 id 来获得 select,所以我将有/field_data/index/12和 12 在这里表示key_id

我可以通过硬编码key_id在 controller 中手动完成

def index 
    @key_id = 12
    @field_data = FieldDatum.select('field_content').where("key_id = ?", @key_id)
end

我的 URL 很一般: /field_data

那么如何让它能够获取URL中的id呢?

路线

get "/field_data/index/:key_id", to: "field_datas#index"

控制者

def index 
  @field_data = FieldDatum.select('field_content').where(key_id: params[:key_id])
end

尝试这个:

显示.html.erb

<% user_all.each do |user| %>
   <%= link_to user_id_pass_path(user.id), method: :get do %>
    <span class="btn btn-warning">Pass Id</span>
   <% end %>
<% end %>

路线.rb

 get '/user_id_pass/:id' => 'users#user_id_pass', as: 'user_id_pass'

users_controller.rb

 def user_id_pass
   @user = User.find_by_id(params[:id])
 end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM