草庐IT

ruby-on-rails - 如何在 erb 文件中打印包含换行符的字符串

从用户那里得到输入后,我得到了一个像这样的字符串:str="Firstline/nSecondline/nThirdline"当我试图在我的erb中打印它时文件如下:我只得到一行没有任何换行符(“第一行第二行第三行”)我的问题是:如何在erb中打印字符串文件包括换行符?(我想我可以用标记替换每个\n,但我想知道是否有更好的方法来实现它?!) 最佳答案 因为你用ruby-on-rails标记了这个问题,我猜你想输出到网页。我会推荐这个:形成文档:simple_format("Hereissomebasictext...\n...wit

css - 样式表不适用于 sinatra erb View

我的样式表应用于我的应用程序的某些元素而不是其他元素,我不确定为什么。这是我的文档结构:目前,样式表正在应用于index.erb和contacts.erb,但没有应用于树中的其他部分,我不确定为什么。在我的布局中我指定了:有什么想法吗? 最佳答案 您正在使用对样式表的相对引用,因此浏览器将请求它相对于当前url。这意味着对于/和/contacts浏览器将请求/styles.css并找到它,但是例如/contacts/1它将请求不存在的/contacts/style.css。如果您检查日志,您可能会在发生这种情况的地方看到大量404。

html - 用 ERB 生成 HTML 文件?

如果我有一个如下所示的.html.erb文件:Test如何生成如下所示的HTML文件?TestJohn如果格式为.html.erb,我如何执行模板(传递name参数)并且只能获取.html文件? 最佳答案 #page.html.erbTest...require'erb'erb_file='page.html.erb'html_file=File.basename(erb_file,'.erb')#=>"page.html"erb_str=File.read(erb_file)@name="John"renderer=ERB.new

javascript - 如何使用嵌入式 ruby​​ 动态创建 jquery 选择器(在 .js.erb 文件中)?

作为ajax调用的一部分,我正在尝试使用嵌入式ruby​​在.js.erb文件中生成jquery选择的id部分。下面是我如何让它工作的,但我不得不稍微用手让浏览器中的javascript将id连接到选择器,而不是在服务器上构建jquery选择器。$("tr.design#".concat()).html(""form_rows/row"))%>")我尝试了几种组合:$()$()$("tr.design#")在每种情况下,返回给客户端的选择器都是$(tr.design#17)(不带引号),因此没有按照我想要的方式在客户端执行,即jquery没有找到任何匹配项。.html(""form_r

ruby-on-rails - 仅在 Rails ERB 中存在记录时才显示记录的优雅方式

我发现在显示有关用户的信息时,我在ERBView中使用了大量重复代码。沿着我基本上对我认为的所有内容都这样做以避免错误(例如,可能没有所有新字段的老用户)。有更好的方法吗? 最佳答案 将逻辑转移到助手中:defname_for(user)user.nameifuser.name.present?end并在您的View中调用该助手: 关于ruby-on-rails-仅在RailsERB中存在记录时才显示记录的优雅方式,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 使用 erb 渲染一个变量

我遇到了以下问题:我将rhtml(在和标签内与ruby​​混合在一起的html)存储在我想要呈现的数据库中。这些信息是通过查询获取的。我需要能够评估我从数据库中获得的信息,就好像它是.erb文件中的正常内容一样。我目前拥有的:其中mod["html"]是包含rhtml代码的变量,@mymods是来自查询的对象数组。我目前不知道我应该使用什么功能(render_text当然不起作用)。非常感谢您的帮助。/TZer0 最佳答案 您可以使用ERB对象来呈现文本,而文本不在文件中。只需传递带有的文本标签。您可以将类似以下内容作为applic

ruby-on-rails - 必须调用 "render :layout => false"才能在 Rails 2.3.3 中正确呈现 js.erb 模板

我正在运行最新的Rails2-3-stable分支(当前为2.3.3)。我正在使用JQuery向我的“创建”操作发布AJAX请求,其中我有以下block:respond_todo|format|format.jsend我已经创建了create.js.erb并且为了测试这个Action,我添加了以下单行:alert('hello');请求正确进入format.jsblock,但响应尝试呈现布局。这是我的日志:Jul2220:44:27[2970]INFO:Renderingtemplatewithinlayouts/applicationJul2220:44:27[2970]INFO:R

ruby-on-rails - 在 erb 模板中进行救援的好做法?

问题很简单:像这样使用rescue是个好习惯吗?......如果不是,解决方案在哪里?一个“如果”之前? 最佳答案 使用trymethod在Rails中:在Ruby2.3+中你可以使用原生的safenavigationoperator: 关于ruby-on-rails-在erb模板中进行救援的好做法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/24692565/

html - 使用嵌入式 Ruby 代码 (erb) 缩进 HTML

我想知道是否存在解决以下问题的方法:我有以下代码:'abc',:else=>'abc',:nice=>'ok'}%>如您所见,它未经验证且难以阅读。我想知道是否存在一个最好在ruby​​中可以重新缩进文档的工具(不对源进行修改或验证)。只需重新缩进。预期的结果是:'abc',:else=>'abc',:nice=>'ok'}%>此外,另一方面,我不想将其作为Textmate上的命令来实现。 最佳答案 在Textmate中实现?您确实了解⌘⌥[,即Cmd+Alt+[(或使用Text从应用程序菜单中选择它>IndentSelection

ruby-on-rails - 如何从 Rails 模板(ERB 文件)中的错误中拯救出来

我有一个ERB模板,它有一些来自其他gem的辅助方法sample.html.erbAllTheStufflib/random_file.rbdefall_the_stuffifALL_THE_STUFF.exists?ALL_THE_STUFFelsefailAllTheStuffExceptionendend现在,如果ALL_THE_STUFF不存在,我将得到一个ActionView::Template::Error。但是,这不会被捕获为Controller级别的异常处理。对于Controller,我使用rescue_from拯救ApplicationController中的异常。我