是否可以使用输入作为" 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
。
答案 0 :(得分:0)
目前还不清楚你究竟在问什么,但你的意思是:
然后你可以做的是在路由文件中创建一个POST路由,在某个控制器中创建一个新动作,接受你需要的任何输入作为参数,并在服务器上执行动作,并做出适当的响应。
或者,如果您的意思是当用户输入一些输入到文本字段,并且您想要动态更改链接时,您可能希望使用JavaScript在客户端执行此操作。这样的事情(我使用JQuery):
$("#textfield").on('input', function(e) {
var text = $(this).val();
// TODO: sanitize 'text' input
$("#link").attr('href', text);
});
我应该警告你,如果你正在尝试这样做,你应该验证用户输入的输入,因为它会为脚本注入攻击创建一个向量。