小编Bra*_*sen的帖子

Rails中的强参数3.2.8

该视频表明,可以保护通过控制器输入的输入,但仍然可以通过型号和规格进行质量分配.但是,在3.2.8中使用strong_parameters时,我没有将此文档记录为功能.

我知道我需要混入ActiveModel::ForbiddenAttributesProtection我的模型并config.active_record.whitelist_attributes = false进入config/application.rb.我也attr_accessible从模型中取出了所有的电话.

无论有没有mixin,我都会遇到质量分配错误.

ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: home_phone, cell_phone

我错过了什么吗?

ruby-on-rails strong-parameters

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

HTTP Basic Auth排除单个文件

我的.htaccess文件的一部分看起来像这样 -

AuthUserFile /path/to/.htpasswd
AuthName "Authorization Required"
AuthType Basic
require valid-user
Run Code Online (Sandbox Code Playgroud)

这样做需要对整个目录及其下面的目录进行基本HTTP身份验证.但是,我在该根目录thubservice.php中有一个文件,它不应该要求HTTP身份验证.

从我所看到的,我需要使用<FilesMatch />,但我无法弄清楚除了给定文件之外的所有模式.

regex authentication .htaccess

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

强制子域和删除子域

我正在编写一个将使用basecamp样式子域的应用程序(参见文章).

应用程序的某些部分应始终位于子域中,而部分应永远不应位于子域中.例如,"主页"页面永远不应位于子域中,但博客和帖子资源应该始终存在.请注意,我不知道子域名,因为每个帐户都有一个子域名.

我设置了这样的路线(例子).它运行良好,因为它匹配路线,但我很难强迫我的应用程序链接到正确的位置.

MyApp::Application.routes.draw do

  # these should all route to mysubdomain.myapp.com
  # Clicking on a post from myapp.com/categories/12 should take you to mysubdomain.myapp.com/posts/14
  constraints(Subdomain) do
    resources :blogs { resources :posts }
  end

  # these should all route to myapp.com (clicking on one of these links from mysubdomain.myapp.com should go to myapp.com/categories/12)
  constraints(NoSubDomain) do
    resources :categories
  end

end
Run Code Online (Sandbox Code Playgroud)

问题是,一旦我在子域中,所有到其他页面(类别等)的链接都包含子域.我不确定最好解决这个问题.非常感谢你的帮助.

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

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

Rails路由变量

订单可以有很多州.我想为那些创建命名路由.我需要将状态作为参数传递给控制器​​.这是我的想法,但它显然不起作用.

match "order/:state/:id" => "orders#%{state}", as: "%{state}"
Run Code Online (Sandbox Code Playgroud)

所以我希望order/address/17路由到订单#address,其中:state和:id作为params传入.同样,订单/ shipping/17将路由到订单#shipping,再次:state和:id将被传入.

这是控制器.

class OrdersController < ApplicationController

  before_filter :load_order, only: [:address, :shipping, :confirmation, :receipt]
  before_filter :validate_state, only: [:address, :shipping, :confirmation, :receipt]


  def address
    @order.build_billing_address unless @order.billing_address
    @order.build_shipping_address unless @order.shipping_address
  end


  def shipping
    @shipping_rates = @order.calculate_shipping_rates
  end


  def confirmation

  end


  def receipt

  end

  private 

  def load_order
    @order = Order.find(params[:id])
  end

  # Check to see if the user is on the correct action
  def validate_state
    if params[:state]
      unless params[:state] == @order.state
        redirect_to eval("#{@order.state}_path(:#{@order.state},#{@order.id})")
        return
      end …
Run Code Online (Sandbox Code Playgroud)

ruby routing ruby-on-rails

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

当前服务器状态

我知道我在PHP中看到过一种方法,当调用它时会给我当前的CPU状态,但是我记不起来了,谷歌搜索没有为我提供任何东西.

基本上,我有一个聊天程序,我需要确保它不会对服务器造成严重破坏.所以我想,当发布消息时(因为这是唯一使用PHP的时间,否则只是直接的.txt文件),请检查服务器的状态.这样我可以调节客户端发送ajax请求的频率,具体取决于服务器的运行状况.

php

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