小编gmi*_*ile的帖子

如何在erb模板中显示应用数据?

第一眼我认为erb接受任何Ruby代码,但我有这种奇怪的行为......

我有一个[我文章的标签]数组,我想为他们做一个很好的展示.所以我写的是这样的:

<ul>
   <% @post.tags.each do |item| %> 
   <li>item</li>
   <% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

错误的输出如下所示:

<ul>
   <li>item</li>
   <li>item</li>
   <li>item</li>
   ...
</ul>
Run Code Online (Sandbox Code Playgroud)

哪里错了?有关如何进行正确迭代的任何建议吗?

ruby templates ruby-on-rails erb

1
推荐指数
1
解决办法
950
查看次数

Rails中的自定义路由

我正在尝试在我的网站上创建一些不错的链接.我刚才正在通过标签创建搜索,我想知道是否可以创建这样的好路线:

http://myapp.com/search/a_very
http://myapp.com/search/nice_set
http://myapp.com/search/of_tags
Run Code Online (Sandbox Code Playgroud)

或者至少像这样:

http://myapp.com/articles/search/a_very
http://myapp.com/articles/search/nice_set
http://myapp.com/articles/search/of_tags
Run Code Online (Sandbox Code Playgroud)

我已经用link_for做了一些实验,并且发现在那里不可能避免动作?参数=值构造.我也试图避免地址中的任何"数字东西",比如在动作之间发送ID等等.无论如何,我只是一个初学者而且我完全不知道我应该去哪个方向.

它应该是一些神奇的路线吗?如何将这种魔力应用于我的榜样?我是在经营"配置惯例"范式吗?

ruby routes ruby-on-rails

0
推荐指数
2
解决办法
7335
查看次数

如何在另一个字符串中解析带引号的字符串?

我想从字符串中提取引用的子串.这是一个例子:

string = 'aaaa' + string_var_x + 'bbbb' + string_var_y
Run Code Online (Sandbox Code Playgroud)

解析后的输出应为:

["'aaaa'", "'bbbb'"]
Run Code Online (Sandbox Code Playgroud)

最初的解决方案string.scan /'\w'/几乎没问题.

仍然我无法让它在更复杂的字符串上工作,因为它暗示里面'...'可以有任何类型的字符(包括数字,!@#$%^&*()等等).

有任何想法吗?

我想知道是否有某种方法可以让你的/'.*'/工作变得更加贪婪?

ruby regex string parsing

0
推荐指数
1
解决办法
398
查看次数

使regexp更短

我有以下文字:var avarb avar var varb var.我想要做的只是提取"直接" var事件.上面的字符串包含3个.

在玩rubular时我制作了以下Regexp : /\A(var)|\s(var)\s|(var)\z/. 有没有办法简化它,才能var在regexp中只使用一次子串?

ruby regex simplification

0
推荐指数
1
解决办法
65
查看次数

如何停止 RSpec 测试运行以发送 Twilio 文本消息?

如何防止 Rspec 在运行测试时触发短信?我只想通过 IRB 发送短信。

这是从运行 send_sms 方法的测试中获得的消息:

<Twilio::REST::Message @path=/2010-04-01/Accounts/AC818.....a16c/Messages/SM8....6cd>
Run Code Online (Sandbox Code Playgroud)

这是#send_sms方法:

def send_sms
  @account_sid = 'AC818...16c'
  @auth_token  = 'c128...431'
  @from_number = '+44...18'
  @to_number   = '+44...31'
  @client      = Twilio::REST::Client.new(@account_sid, @auth_token)
  @account     = @client.account
  @sms         = @account.messages.create(
    from: @from_number,
    to:   @to_number,
    body: "Thank you! Your order was placed and will be delivered."
  )
  p @sms
end
Run Code Online (Sandbox Code Playgroud)

ruby rspec twilio

0
推荐指数
1
解决办法
1162
查看次数