今天发现了个奇怪的问题。
在我按照书中代码临摹的时候,报了莫名其妙的语法问题。
代码如下:
<%= form_remote_tag :url => { :action => :add_to_cart , :id => product} do %>
<%= submit_tag "Add to Cart" %>
<% end %>
错误:
SyntaxError in Store#index
Showing app/views/store/index.rhtml where line #9 raised:
compile error
./script/../config/../app/views/store/index.rhtml:9: syntax error, unexpected ')'
_erbout.concat " "; _erbout.concat(( form_remote_tag :url => { :action => :add_to_cart , :id => product } do ).to_s); _erbout.concat "\n"
^
./script/../config/../app/views/store/index.rhtml:13: syntax error, unexpected kEND, expecting ')'
end ; _erbout
^
查了大概两个小时,终于在一个论坛中某人2006年发表的一个求助帖中找到了答案,原因是rails版本变了之后语法发生了改变。而我恰巧没有按照书中的版本进行(看来了解版本间的变更很必要啊!)。
最终解决方案是:
<%= form_remote_tag :url => {:action => :add_to_cart , :id => product} %>
<%= submit_tag "Add to Cart" %>
<%= end_form_tag %>
不过说实话语义确实比以前明了。
原文:
http://forums.devshed.com/ruby-programming-142/form-remote-tag-not-displaying-button-411613.html
分享到:
相关推荐
Errawr :: Rails 使用Errawr在Rails中引发和渲染错误安装将此行添加到您的应用程序的Gemfile中: gem 'errawr-rails'然后执行: $ bundle或将其自己安装为: $ gem install errawr-rails用法入门要开始在Rails中引发...
JGrowl for rails 资产管道 是一个 jQuery 插件,它在浏览器中引发不显眼的消息,类似于 OS X 的 Growl 框架的工作方式。 这个想法很简单,以一种显着的方式向最终用户发送通知,既不会阻碍工作流程,又能让用户了解...
一个示例Rails应用程序,用于演示JSON API呈现和使用。 Rails有两个代码库,一个渲染JSON API,另一个使用它。 blogger通过JSON呈现其内容,以供侦听client 。 安装 在您的环境中安装 。 使用bundle install安装...
自述文件这是刷新经验的一种方法。 《 Rails指南》中的当前步骤: : 与在控制器和视图之间传递数据的典型方式相反(直接使用实例变量),我将使用控制器中定义的属性访问器方法,以减少由于实例变量名称的拼写错误而...
ilia Milia是Ruby on Rails应用程序的多租户瑰宝。 Milia支持Devise。 您正在查看将miilia与Rails 5.x应用程序... 最初,用户创建一个新的组织(承租人)并成为其第一个成员(通常是管理员)。 然后,他邀请其他成员
如果尝试运行rails并引发有关纱线或卷筒纸包装机的错误,请确保通过运行安装纱线 纱线-版本。 如果似乎已安装纱线,请通过运行以下命令检查所有软件包是否为最新版本 毛线安装-检查文件 如果未安装yarn,请访问 ...
不幸的是,当遵循标准 Rails 模式显示错误时,这会导致大多数浏览器出现问题。 作为 Rails 开发人员,我们从来没有真正看到过问题,因为我们通常允许浏览器历史记录和内部存储。 仅当no-cache, no-store应用于安全...
该存储库是一个专门用于教授Ruby编程语言的教程,它起源于最著名的Web框架之一Ruby on Rails! 路线图 先决条件 内容 职能 读写文件 符号 散列 常用表达 文字 什么是Rails? 先进的 Ruby宝石 创建自己的宝石 要做出...
Watir ::铁路 这款宝石使可以与Rails一起使用。安装将此代码添加到您的Gemfile中: group :... click忽略Rails异常默认情况下,Rails应用程序引发的异常将在您的测试中重新引发,从而使它们失败。 仅当在Rails配置中
action_args是一个Rails插件,它扩展了控制器的操作方法,使您可以在任何操作的方法定义中指定感兴趣的参数。 -简而言之,这使您的Rails控制器变得轻浮。控制器具有以下控制器代码: class UsersController < ...
Rescue-Dog在引发Rails异常时会响应HTTP状态(代码和消息)。 安装 将“救援犬” gem添加到您的Gemfile gem 'rescue-dog' 并运行bundle install命令。 声明CRUD动作 包括Rescue::Controller (Rescue :: ...
God Forbid是一颗宝石,它通过检查请求标头并在每个请求上添加新的响应标头来保护您的Rails应用程序。 它非常易于使用,您不再需要SSL,天哪! 它如何保护您的应用程序? 非常简单! 它为每个响应添加以下标头; X...
简单电子邮件异常通知程序 用于通知的电子邮件通知程序,不依赖于 ActionMailer,可以在 Rails 之外使用,即与 Grape ... 这让 ActiveRecord 开始认为有一个 Rails 应用程序并引发NoMethodError: undefined method '
在Rails应用程序中对用户进行身份验证 基于对基础上, 在Pluralsight的免费一周结束后进行了跟进。 做了一些补充。 去做 测试没有运行(我认为最佳实践是在演示代码的同时演示测试)。 如果未输入无效的用户名,则...
异常猎人 Exception Hunter是一个Rails引擎,旨在跟踪您的Rails项目中的错误。 它通过使用Postgres数据库来保存错误及其相应的元数据(例如发生故障时的回溯或环境数据)来工作。 为此,我们会挂接到您应用程序的...
'value'这将需要一个 config.yml 文件,如下所示(给定开发环境)存储在 config 文件夹(在 Rails 应用程序中)或根文件夹(在非 Rails 应用程序中): development: a: b: c: 'value' 如果请求不存在的密钥,将引发...
Rack :: Timeout不能解决长时间运行的请求问题,它是一种调试和修复工具。 应用程序开发人员应跟踪机架超时的数据并解决特定超时的重复实例,例如通过重构代码,使其运行更快或抵消冗长的工作以异步发生。 升级中 ...
A9n是一个简单的工具,可保持ruby / rails应用程序的配置可维护和可验证。 它支持Rails 4+和Ruby 2.5+。 为什么命名为a9n? 它是应用程序的代名词(其中9代表第一个a和最后一个n之间的字母数,类似于i18n或l10n)...
如果您使用的旧版本的activeresource没有connection_class ,那么这个gem将在required时引发运行时错误。 对于shopify_api gem,您将需要尽可能新的版本。 或至少是4.3.1版本。安装将此行添加到您的应用程序的...
基本上,我们捕获 Rack::Timeout 引发的 Exception 并将其转换为 StandardError 以便 Puma 工作人员不会被杀死。 有关问题的更好描述,请参阅 。 基本用法 Rails 应用程序 # Gemfile gem "rack-timeout-puma" 这...