我正在尝试找出是否可以使用 link_to 在选项值标记中执行 Ajax 请求
<option value="<%= link_to 'Manage Sandpiper Posts', posts_path(:type => 'Sandpiper'), :remote => true %>">Sandpiper</option>
因为选项值标签只接受文本,所以输出目前无效,链接显然不起作用
我想要实现的是在选择选项后执行请求
有谁知道如何解决这个问题,或者如果可能的话,正确的语法是什么?
编辑
当视口处于桌面大小并且工作正常时,我已经从下拉菜单中发出了这个 Ajax 请求,我通过
<%= link_to 'Sandpiper', posts_path(:type => 'Sandpiper'), :remote => true %>
Firebug 返回参数
type = sandpiper
GET 请求是
GET posts?type=Sandpiper
这一切正常,网址保持为 localhost:3000/posts 并返回我的结果
现在,当我在移动视图中使用选择值时,返回的参数与获取请求相同,不同之处在于地址栏中的 url 转到
http://localhost:3000/posts?type=Sandpiper
并且没有返回结果。
控制器
def index
@posts = Post.all
@tynewyddpost = Post.tynewydd_posts
@woodsidepost = Post.woodside_posts
@sandpiperpost = Post.sandpiper_posts
@outreachpost = Post.outreach_posts
@companypost = Post.company_posts
@staffpost = Post.staff_posts
结尾
index.js.erb
<% if params[:type] == 'Tynewydd' %>
$('#newsResults').html('<%= escape_javascript(render partial: 'tynewyddposts') %>');
<% end %>
<% if params[:type] == 'Woodside' %>
$('#newsResults').html('<%= escape_javascript(render partial: 'woodsideposts') %>');
<% end %>
我确实尝试更改我的控制器以匹配@SybariteManoj 的控制器,但这也不起作用,尽管我认为我在做同样的事情,只是以不同的方式