所以我不重新发明轮子,为Ruby on Rails设置注册,登录,注销和密码重置框架的最佳方法是什么?理想情况下,必须有一个处理这个问题的gem(库,包等)?
提前致谢!
我这样做了吗?这有助于避免sql注入吗?
$deleteid = htmlspecialchars(strip_tags(mysql_real_escape_string($_POST['listid'])));
mysql_send("DELETE FROM stage where listid='$deleteid'");
Run Code Online (Sandbox Code Playgroud) 我正在寻找ruby中的功能代码示例.也许你知道一些宝石,在哪里可以找到这样的代码?
我正在创建一个函数,将第一个参数转换为PHP var(无用,我知道),并将其设置为等于第二个参数.我试图gsub!摆脱所有不能在PHP var中使用的字符.这是我有的:
dvar = "$" + name.gsub!(/.?\/!@\#{}$%^&*()`~/, "") { |match| puts match }
我有puts match那里确保删除了一些角色.name是一个传递给方法的变量,其中这是它的目的.我收到此错误:
TypeError: can't convert nil into String
cVar at ./Web.rb:31
(root) at C:\Users\Andrew\Documents\NetBeansProjects\Web\lib\main.rb:13
Run Code Online (Sandbox Code Playgroud)
Web.rb是此行所在的文件,并且main.rb是调用此方法的文件.我怎样才能解决这个问题?
编辑:如果我删除了!在gsub!中,它会通过,但字符不会删除.
我遇到了一个我以前从未遇到过的问题.我正在研究由另一个程序员编写的代码,这有点乱.
这是问题所在.我在我的模型中有以下验证:
validates_presence_of :subscription_level,
:message => 'please make a selection'
validates_presence_of :shipping_first_name
validates_presence_of :shipping_last_name
validates_presence_of :shipping_address
validates_presence_of :shipping_city
validates_presence_of :shipping_state
validates_presence_of :shipping_postal_code
validates_presence_of :shipping_country
validates_presence_of :billing_first_name
validates_presence_of :billing_last_name
validates_presence_of :billing_address
validates_presence_of :billing_city
validates_presence_of :billing_state
validates_presence_of :billing_postal_code
validates_presence_of :billing_country
validates_presence_of :card_number
validates_numericality_of :card_number
validates_presence_of :card_expiration_month
validates_numericality_of :card_expiration_month
validates_presence_of :card_expiration_year
validates_numericality_of :card_expiration_year
validates_presence_of :card_cvv
validates_numericality_of :card_cvv
Run Code Online (Sandbox Code Playgroud)
我对这个控制器有两个动作.一个是new另一个是redeem.我希望通过操作执行所有这些验证,new但希望跳过大部分redeem操作.
我现在面临的问题是valid?在控制器中使用也验证了redeem行动不需要的东西.
我怎么能绕过这个?
_.valuesunderscore.js 的函数反转返回值的顺序.
有谁知道这种行为背后的原因?
是否可以获取发布新记录的用户的MAC地址?
如果我调用了列mac_address,如何编写控制器以将MAC地址放入该列?
我是ruby和rails的新手,我在使用Ruby on Rails电子商务时遇到了问题.(是的,这是一本旧书).
我有这两个代码集用于视图:
new.html.erb:
<%= form_tag :action=> 'create' do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Create' %>
<%= end -%>
<% link_to 'Back', :action => 'index' %>
Run Code Online (Sandbox Code Playgroud)
_form.html.erb:
<% error_messages_for 'supplier' %>
<p><label for="supplier_first_name">First Name</label><br/>
<%= text_field 'supplier', 'first_name' %></p>
<p><label for="supplier_last_name">Last Name</label><br/>
<%= text_field 'supplier', 'last_name' %></p>
Run Code Online (Sandbox Code Playgroud)
但它不会显示虽然我添加了do选项.它一直给我这个错误:
C:/rails/emporium/app/views/admin/supplier/new.html.erb:1: syntax error, unexpected ')'
...orm_tag :action=> 'create' do ).to_s)
... ^
C:/rails/emporium/app/views/admin/supplier/new.html.erb:4: syntax error, unexpected keyword_end
; @output_buffer.concat(( end ).to_s)
^
C:/rails/emporium/app/views/admin/supplier/new.html.erb:5: syntax error, unexpected tIVAR, …Run Code Online (Sandbox Code Playgroud) price我的模型中有一个属性.
我可以使用attribute-getter,它的名称就像属性一样
def price
... logic logic ..
return something
end
Run Code Online (Sandbox Code Playgroud)
为了覆盖属性本身?
目前它不起作用.如果我调用model.price它有效,但当它通过保存对象时model.save,它会存储默认值.
它能以无痛的方式完成,还是应该进行before_save回调?
我正在尝试在创建时向我的用户添加用户名.
在设计/注册/新我有:
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<p><%= f.label :username %><br />
<%= f.text_field :username %></p>
<p><%= f.label :email %><br />
<%= f.email_field :email %></p>
<p><%= f.label :password %><br />
<%= f.password_field :password %></p>
<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></p>
<p><%= f.submit "Sign up" %></p>
<% end %>
<%= render :partial => "devise/shared/links" %>
Run Code Online (Sandbox Code Playgroud)
问题是没有params[:username]发送到控制器,我在视图中收到以下错误:
ActiveRecord::StatementInvalid in Devise::RegistrationsController#create
Mysql::Error: Column 'username' cannot be null: …Run Code Online (Sandbox Code Playgroud) 我做了:
git checkout sign-up
得到了这个:
M Gemfile
Switched to branch 'sign-up'
Run Code Online (Sandbox Code Playgroud)
什么M Gemfile意思?在railstutorial.org(第8章第7章结束时),它没有显示该行.
大约30分钟前,我尝试降级后,不得不将rake从0.8.7升级到0.9.2,但我很确定它没有干净利落.
ruby ×5
attributes ×1
devise ×1
forms ×1
git ×1
javascript ×1
linux ×1
model ×1
mysql ×1
php ×1
rubygems ×1
shell ×1
tags ×1
validation ×1