使用rails变量作为路径

时间:2016-07-16 02:32:00

标签: ruby-on-rails link-to

是否可以使用输入作为" link_to"的路径?

<router-outlet>

以上代码将转到呼叫显示页面。如果在创建表单中,我有<% @call.each do |call| %> <%= call.title %> <%= link_to "Path Text", call_path(call) %> <% end %> 的输入,并且它是path。是否可以输入&#34; call_path(call)&#34;然后将该输入用作string路径,例如:

link_to

我已尝试过此代码,并将链接输出作为与#34; call_path(call)&#34;

的网址的链接

在调用模型中,我在创建模型时定义了<% @call.each do |call| %> <%= call.title %> <%= link_to "Path Text", call.path %> <% end %> ,并且在控制器中path:string的permit语句中有:path

1 个答案:

答案 0 :(得分:0)

目前还不清楚你究竟在问什么,但你的意思是:

  1. 用户点击链接
  2. 使用特定输入变量在服务器上执行某些操作
  3. 然后你可以做的是在路由文件中创建一个POST路由,在某个控制器中创建一个新动作,接受你需要的任何输入作为参数,并在服务器上执行动作,并做出适当的响应。

    或者,如果您的意思是当用户输入一些输入到文本字段,并且您想要动态更改链接时,您可能希望使用JavaScript在客户端执行此操作。这样的事情(我使用JQuery):

    $("#textfield").on('input', function(e) {
        var text = $(this).val();
        // TODO: sanitize 'text' input
        $("#link").attr('href', text);
    });
    

    我应该警告你,如果你正在尝试这样做,你应该验证用户输入的输入,因为它会为脚本注入攻击创建一个向量。