繁体   English   中英

如何通过link_to发送2个参数,如果页面上存在1个参数,我可以通过JS获取这个值

[英]How send 2 params in action by link_to, if 1 params exist on page and I can get this value by JS

我是 ror 的初学者。 我有带有数据表的页面。 当我在数据表中选择 tr 并按下按钮时,我希望从 tr 中发送 1 个值(我可以通过 JS 获取)和来自代码的 1 个值(由 link_to 发送)。 我不知道为什么要这样做。 如何结合结果 JS 和 link_to,并在行动中抓住这一点。 我糊涂了...

$.get('mycontroller/create', {user_id: "current_user.id", h_id: $(this).data("h-id")});

找不到current_user.id

<%= link_to "Add to h-list", my_controller_create_path(current_user.id), method: :post , :class => "btn btn-default"> 

不要发送h_id

def create
    @h = h.new(????)
    @h.save
    end

我想在行动中获得价值并将其写入数据库。 请帮我

如果我理解正确,您是否希望通过 js 检索 1 个 link_to 参数? 为什么不使用由您的 link_to 生成的链接的“href”属性?

我会这样做:

红宝石 (ERB)

<%= link_to 'mylink', your_path, class: 'someClass', id: 'someId'  %>

JS (jQuery)

   $("#someId").attr('href', function(_, href){
        return href+'?param=value'
    });

我希望它会帮助你

your_controller.rb

  def create
    @h = h.new(your_params)
    @h.h_id_attribute = params[:h-id]
    @h.save
 end

Javascript

$("#someId").attr('href', function(_, href){
    return href+'?h-id=your_value'
});

在你看来

<%= link_to 'mylink', my_controller_create_path(current_user.id), class: 'someClass', id: 'someId'  %>

你可以试试吗?

暂无
暂无

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

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