首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >远程=>为true的link_to未按预期运行

远程=>为true的link_to未按预期运行
EN

Stack Overflow用户
提问于 2011-07-13 06:45:04
回答 2查看 261关注 0票数 0

我使用的是Rails3,这就是我在视图中设置link_to的方式

代码语言:javascript
运行
复制
<%= link_to ('add',
                :url => {:controller => 'favourite_companies', :action =>'create', 
                :company_id=>@company.id,   
                :company_name=>@company.company_name, :remote => true}) %>

当我单击它时,页面会刷新,不会有任何反应。

我已经添加了<%=、csrf_meta_tag、%>和所有的javascript文件。

在控制器中,该函数如下所示:

代码语言:javascript
运行
复制
def create
  @favorite_list = 
      FavouriteCompany.new(:user_id=>curr_user.id,:company_id=>params[:company_id])
  @favorite_list.save
  render :partial => "create"

结束

你知道可能出了什么问题吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-13 06:54:17

你有没有看过通过浏览器开发工具(如firebug等)输出的HTML?

我相信你把:remote => true放错了哈希表。

尝试:

代码语言:javascript
运行
复制
<%= link_to ('add',
     {:url => {:controller => 'favourite_companies', :action =>'create', 
     :company_id=>@company.id,   
     :company_name=>@company.company_name}}, :remote => true) %>

您不使用Rails路由并通过标准Rails进程生成链接有什么原因吗?

代码语言:javascript
运行
复制
<%= link_to 'add', favourite_companies_path(@company), :remote => true %>
票数 4
EN

Stack Overflow用户

发布于 2011-07-13 06:53:09

有趣的是,我从来没有在remote选项中使用过link_to

无论如何,它应该像所有ajax调用一样工作。

所以我认为你应该:

从你的控制器中移除render :partial => "create"

  • create create.js.erb

  • put你的代码,如下所示:

$('#your_container').html("<%= escape_javascript(render(:partial => 'create')) %>");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6672121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档