`

respond_with的用法

阅读更多

        随着学习的深入,Rails 3带给我的惊喜越来越多。respond_with实在是个好东西,最初是在一篇大牛的博客中看到这个东西。不过奇怪的是在api.rubyonrails.org中找不到它的说明。刚刚又看了一片关于respond_with的博客《respond_with in Rails 3》 ,写的很详细。

 

        以前用respond_with,感觉总是模模糊糊的,一直以为:location是一个类似前缀的东西。

 

        当看到“当数据保存成功后,它自动跳转到@story对应的显示页面,当保存失败后,会自动render的@story的new页面。”突然好像明白了,:location的值会不会就是成功要显示的页面?马上去实验了一下,果然!我在location的地方传了一个'http://google.com'进去,保存成功就看到Google了。

 

        怎么感觉自己越活越笨了呢,要费这么大事才能明白这么简单的东西。

++++++++++++++++++++++++++++++

     2011-03-16新增

++++++++++++++++++++++++++++++

        在实际的使用当中,常常会到namespace,如果按照前面说的方法,加一个:location,例如:

respond_with @order, :location => store_order_url(@order)

 希望订单创建成功后显示订单,当你像上面这样写的时候,会得到一个错误:

Routing Error

No route matches {:action=>"show", :id=>#<Order id: nil, ……>,  :controller => "store/orders"}

 查了好多资料,发现原来对于namespace有一种更方便的写法:

respond_with :store, @order

 如果,还想重定向到列表页,就这样写:

respond_with :store, @order, :location => store_orders_url

 恩,终于搞定了

 

 

分享到:
评论

相关推荐

    HttpClient问题:The server failed to respond with a valid HTTP resp

    在使用Apache HttpClient进行HTTP通信时,可能会遇到"HttpClient问题:The server failed to respond with a valid HTTP resp"这样的异常。这个错误通常表示服务器未能返回一个有效的HTTP响应,这可能是由多种原因...

    as_csv:对Rails的即时CSV支持

    安装将此行添加到您的应用程序的Gemfile中: gem 'as_csv' , '~&gt; 2.0'基本用法只需在控制器中添加respond_to :csv class WidgetsController &lt; ApplicationController respond_to :xml , :json , :csv def index ...

    json_api_responders:Rails JSON API应用程序的响应者

    JsonApi响应者 该gem提供了一些使用JSONAPI的便捷方法。 它的灵感来自宝石。 安装 将此行添加到您的应用程序的Gemfile中: gem 'json_api_responders' ...该gem带有以下两个方法respond_with和respond_with_er

    respond:Go的惯用API响应

    使用respond.With响应数据API的respond.With 使用respond.With使用默认选项进行respond.Options ,或进行respond.Options 。编码器抽象使您可以轻松地说出不同的格式Before和After功能字段允许您封装和变异数据,...

    Shoulda教程中文版PDF

    尽管这两个方法在功能上相同,但使用 Should 语句的写法更符合人类语言习惯,使得代码更加直观。 #### 三、上下文(Context) 上下文是 Shoulda 中的一个核心概念,它允许开发者定义一系列特定条件下的测试场景。每...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    可以使用`select_tag`或`collection_select`辅助方法,结合JavaScript(例如jQuery)来实现动态加载。假设我们有`regions`控制器和`show`动作,视图可以这样写: ```erb &lt;%= form_with(model: @selected_region, ...

    blankable:将空白面板添加到索引视图

    可消隐的 将空白面板添加到索引视图 ... respond_with ( @customers ) end end # views/customers/_list.html.haml % table % tr % th Name % th Business Phone % th Mobile Phone % th Addres

    Beginning Google Maps Applications with Rails and Ajax

    综上所述,《Beginning Google Maps Applications with Rails and Ajax》这本书为初学者提供了一条清晰的学习路径,从基础概念到实践案例,全面覆盖了如何使用Google Maps API、Rails以及Ajax技术创建高质量的地图...

    在Ruby on Rails中使用AJAX的教程

    AJAX并非一种单一的技术,而是一种使用JavaScript、XML(或者JSON)以及异步通信技术来创建动态网页的方法。它打破了传统的网页浏览模式,用户可以在交互时无需等待页面的完整加载,提高了应用程序的响应速度和交互...

    rails-design-pattern:Rails框架中的设计模式

    7. **模版方法模式**:ActionController中的`respond_to`和`respond_with`方法是模版方法模式的示例。它们定义了处理请求的基本步骤,而具体实现可以由子类(如具体的Controller)提供。 8. **依赖注入**:虽然Ruby...

    TI 毫米波雷达 ROS 驱动器(具有传感器融合和混合)C++

    与起源 TI 版本的区别: 从计算中添加了所有雷达参数,可以从rosparam get. 添加来自检测目标的多普勒数据并形成定制的 ROS 消息/ti_mmwave/radar_scan。...更多详情、使用方法,请下载后细读README.md文件

    [教师公开招聘考试密押题库与答案解析]教师公开招聘考试中学英语模拟55.docx

    1. 在题干中,“Sean has formed the habit of jogging ______ the tree-lined avenue for two hours every day.”此题考察介词的用法。选项B "along" 表示“沿着”,符合句意,表示Sean沿着林荫大道慢跑。 2. 句子...

    河南省郑州市中原区学大教育培训学校2015届高三英语圈题11 语法填空 动词、介词

    第二道例题中,短语"respond to"被拆分开,"To each parent here responded with the same line...",这里的"To"是短语"respond to"的一部分,表示"回应"。由于宾语"each parent"前置,动词"respond"后置,"to"仍然...

    ruby-telegram-bot-starter-kit:用于创建很棒的机器人的Ruby Telegram样板。 查看机器人世界中的最佳工具-https://github.comBotCubeawesome-bots

    像下面的示例一样,在message_responder.rb使用on方法: def respond on /^ \/ start/ do answer_with_greeting_message end on /^ \/ command (.+)/ do | arg | #supports up to two arguments but it is ...

    nenshi-bot:卡尔加里机器人市长

    用法 Nenshi_bot &gt; nenshi_bot helpNenshi_bot: help - Lists help information for terms and command the robot will respond to.Nenshi_bot: help COMMAND - Lists help information for terms or commands that ...

    Unit 1 Getting along with others作业题及答案解析6份精选.docx

    - 回应:respond - 动词,表示对某事做出反应或回答。 - 残酷的:cruel - 形容词,形容不人道或无情的行为。 2. 选词填空: - 选词填空的题目没有给出具体单词选项,但根据上下文,可能需要填写与友情、尊重、...

    2013届高考英语一轮复习 Unit3 A taste of English humour限时训练 新人教版必修4

    "With the good care taken by doctors and nurses, many patients are beginning to pick up." 表示病人在医生和护士的精心照料下开始恢复。其他选项"A. pick out"挑选,"B. turn up"出现,音量调大,"C. turn out...

    Financial Analysis with Excel

    折现现金流分析是评估投资项目价值的重要方法之一。使用Excel可以通过NPV函数计算净现值,通过IRR函数计算内部收益率等关键指标。这些分析对于判断投资项目是否可行至关重要。 #### 八、证券函数(Securities ...

    rspec 入门者学习

    **行为驱动开发 (BDD)** 是一种软件开发方法论,它鼓励团队成员(包括开发者、QA 和非技术人员)通过特定的格式来共同定义应用程序的行为。这种格式通常采用自然语言的形式,例如:“作为用户,我希望...以便于...”...

    必修5第4单元重点单词讲解.ppt

    对…作出回应 respond with sth. 以…回应 14. response n. 回答;响应;反应;答复 prompt response 迅速的回复 在英语学习中,掌握这些单词的用法至关重要。例如,“delighted”一词,它表达的是极度的喜悦或...

Global site tag (gtag.js) - Google Analytics