小编iCy*_*org的帖子

如何在rails中的某些网址上显示application.html.erb中包含的菜单?

我已经包含了一个html菜单,application.html.erb其中显示了所有视图模板,我想知道如何在某些页面上显示?

喜欢 if path == HOME || "/page/1"

然后,

不显示其他菜单显示它.

谢谢

ruby-on-rails ruby-on-rails-3

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

如何使用选项下载simple_form_for?

我到目前为止使用form_for并且正在使用此代码

<%= f.select :name, options_for_select(%w[Mike Nick Jason Tim]) %>
Run Code Online (Sandbox Code Playgroud)

但是在simple_form_for中相当于什么?我查看了simple_form_for的github文档,但他们没有涉及到这一点

谢谢

ruby-on-rails ruby-on-rails-3

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

如何更改脚手架的名称而不重新创建它?

我创建了一个脚手架“示例”,并对它的控制器和视图进行了许多更改。

现在我想将其重命名为“sample”,有什么办法可以在不破坏任何东西的情况下做到这一点?手动编辑控制器、模型、视图和迁移文件会很困难,所以我希望有一些东西可以缓解这个问题。

ruby-on-rails ruby-on-rails-3

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

Devise的控制器在哪里?如何在用户/编辑页面中添加其他模型的数据?

似乎设计不在app/controller文件夹中创建任何控制器文件,现在我希望在用户/编辑视图中显示来自其他模型的一些自定义信息,但由于没有要添加的控制器而无法弄清楚如何执行此操作

@num_of_cars = current_user.num_of_cars.all
Run Code Online (Sandbox Code Playgroud)

我希望在用户/编辑页面中显示num_of_cars,但无法弄清楚如何操作

编辑 - 下面提到的代码给我错误,我把这个代码放在我的设计/注册/编辑文件中

<%= render partial: 'myinfo/cars_list' %> 
Run Code Online (Sandbox Code Playgroud)

其中myinfo是具有部分_cars_list.html.erb的另一个资源,/ myinfo scaffold工作得非常好但是当我试图将该部分显示在用户/编辑中时,它给了我

undefined method `each_with_index' for nil:NilClass  
Run Code Online (Sandbox Code Playgroud)

(我使用each_wit_index显示列表,但我不认为这是问题)

ruby-on-rails ruby-on-rails-3

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

尝试在用户模型中创建配置文件时,nil:NilClass 的未定义方法“create”

我搜索并发现这个Rails 3 undefined method `create' for nil:NilClass 在尝试创建相关对象时出现错误,但该解决方案也给出了错误 - 堆栈级别太深,因此询问它。

我有一个用户模型和配置文件模型,具有belongs_to 和has_one 关系。

在我的 user.rb 模型中我有

after_create :create_profile

def create_profile
  self.profile.create
end
Run Code Online (Sandbox Code Playgroud)

但这在 self.profile.create 行给出了“undefined method `create' for nil:NilClass”。用户也没有被创建,个人资料也没有被创建

ruby-on-rails ruby-on-rails-3

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

Apache 使用所有 16 GB 内存,如何限制其进程和内存使用?

我们在 16GB AWS 实例上,我发现它真的很慢。当我跑

ps -aux | grep apache
Run Code Online (Sandbox Code Playgroud)

我可以看到大约 60 多个 apache 进程。

在此处输入图片说明

当我跑

watch -n 1 "echo -n 'Apache Processes: ' && ps -C apache2 --no-headers | wc -l && free -m"
Run Code Online (Sandbox Code Playgroud)

它显示了 apache 使用的几乎所有内存。

在此处输入图片说明

当我跑

curl -L https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl
Run Code Online (Sandbox Code Playgroud)

要查看如何优化 Apache,它建议我增加 MaxRequestWorkers 的数量,因此我将其设为 550。我还将 MaxConnectionsPerChild 从 0(无限制)更改为 10000。

这是我的 /etc/apache2/mods-enabled/mpm_prefork.conf 文件

<IfModule mpm_prefork_module>
        StartServers              5
        MinSpareServers           5
        MaxSpareServers          10
        MaxRequestWorkers        550
        MaxConnectionsPerChild   10000
</IfModule>
Run Code Online (Sandbox Code Playgroud)

你能告诉我我们如何优化 apache 内存使用,这样它就不会导致整个站点瘫痪吗?

apache out-of-memory ubuntu-14.04

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

如何为Actionmailer的电子邮件生成取消订阅链接?

我有一个包含id,name和email字段的表CLIENTS,我使用ActionMailer和第三方SMTP向他们发送电子邮件.

现在我希望客户端也有订阅选项,所以我添加了"subscription"列,默认值为true.

现在如何生成一个可以放在视图邮件模板中的链接,这样当用户点击它时,订阅值会变为false,所以将来客户端不会收到任何电子邮件?请注意,这些客户端不是我的rails应用程序用户,因此我无法使用此处建议的Rails 3.2 ActionMailer处理电子邮件中的取消订阅链接

我发现这个链接如何生成链接以取消订阅电子邮件,这看起来很有帮助,但我想可能在3年内,我们可能有更好的解决方案

这是我的完整代码 -

#client.rb

attr_accessible :name, :company, :email

belongs_to :user
has_many :email_ids
has_many :emails, :through => :email_ids

before_create :add_unsubscribe_hash

private

def add_unsubscribe_hash
  self.unsubscribe_hash = SecureRandom.hex
end  
Run Code Online (Sandbox Code Playgroud)

这是Clients_controller.rb文件

# clients_controller.rb

  def new
    @client = Client.new

    respond_to do |format|
      format.html
      format.json { render json: @client }
      format.js
    end
  end

  def create
    @client = current_user.clients.new(params[:client])
    respond_to do |format|
      if @client.save
        @clients = current_user.clientss.all
        format.html { redirect_to @client }
        format.json { render json: @client }
        format.js …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

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

如何在 Rails 中获取页面的数据/查看统计信息?

我想知道,如何在 Rails 中获得这样的统计数据?

  1. 像 /page/1、/page/2 这样的页面有多少唯一浏览量
  2. 他们来自哪些国家?

因为我想在这些页面下显示此信息,所以我不想使用任何外部库,我希望我们可以有一些 ruby​​ gem 可以做到这一点

谢谢

编辑 1 - 我可以看到 1-2 个宝石,例如https://github.com/jkrall/analytical,但仍然想询问 SO 社区

编辑 2 - 我不认为上面的 gem 是我正在寻找的东西,它看起来只是将第 3 方分析插入到现有应用程序中

ruby-on-rails ruby-on-rails-3

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

如何使一个方法可用于所有控制器?以及如何所有型号?

我是Rails的新手,并编写了一个方法to_csv,我将它放在products_controller.rb中,但我希望它也可用于所有其他控制器.这样做的首选方法是什么?它在application.rb中吗?

同样,如果我在某个model.rb中编写方法,如何在所有模型之间共享该方法?

ruby ruby-on-rails

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

如何将非www请求重定向到www?

我有一个Rails应用程序,我已将此代码放在应用程序的公共文件夹中的.htaccess文件中:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)? [NC]
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但仍然非www没有重定向到www和Chrome说:无限循环.我究竟做错了什么?我正在使用Apache与Passenger.

apache .htaccess ruby-on-rails ruby-on-rails-3

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

如何使用以及将代码放在哪里不是MVC的一部分

我编写了ruby代码,用于从Google API中提取内容.它作为独立example.rb文件工作.我需要将它添加到我的RoR应用程序中.这样做的标准方法是什么?我该如何从控制器调用此代码?我应该在某些模型文件中添加此代码,将代码保存在/lib文件夹中,还是将代码放在/vendor/plugins文件夹中?

ruby ruby-on-rails

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