Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如果URL包含字符串?_Ruby On Rails_Ruby_Ruby On Rails 4_Conditional - Fatal编程技术网

Ruby on rails 如果URL包含字符串?

Ruby on rails 如果URL包含字符串?,ruby-on-rails,ruby,ruby-on-rails-4,conditional,Ruby On Rails,Ruby,Ruby On Rails 4,Conditional,如果:name被传递到_表单,我如何使用条件来做一件事,如果:name没有被传递,如何使用条件来做另一件事 通过:name: Started GET "/inspirations/new?inspiration%5Bname%5D=Always+trust+yourself+more+than+you+doubt+yourself" for 127.0.0.1 at 2016-11-08 01:00:44 -0500 Processing by InspirationsController#ne

如果
:name
被传递到_表单,我如何使用条件来做一件事,如果
:name
没有被传递,如何使用条件来做另一件事

通过
:name

Started GET "/inspirations/new?inspiration%5Bname%5D=Always+trust+yourself+more+than+you+doubt+yourself" for 127.0.0.1 at 2016-11-08 01:00:44 -0500
Processing by InspirationsController#new as HTML
  Parameters: {"inspiration"=>{"name"=>"Always trust yourself more than you doubt yourself"}}
Started GET "/inspirations/new" for 127.0.0.1 at 2016-11-08 01:16:18 -0500
Processing by InspirationsController#new as */*
  User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]
  CACHE (0.0ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]
  Inspiration Load (0.4ms)  SELECT  "inspirations".* FROM "inspirations" WHERE "inspirations"."id" IS NULL LIMIT 1
  Rendered inspirations/_form.html.erb (4.1ms)
  Rendered inspirations/new.html.erb within layouts/modal (5.9ms)
Completed 200 OK in 49ms (Views: 41.9ms | ActiveRecord: 0.7ms)
:传递了名称

Started GET "/inspirations/new?inspiration%5Bname%5D=Always+trust+yourself+more+than+you+doubt+yourself" for 127.0.0.1 at 2016-11-08 01:00:44 -0500
Processing by InspirationsController#new as HTML
  Parameters: {"inspiration"=>{"name"=>"Always trust yourself more than you doubt yourself"}}
Started GET "/inspirations/new" for 127.0.0.1 at 2016-11-08 01:16:18 -0500
Processing by InspirationsController#new as */*
  User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]
  CACHE (0.0ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]
  Inspiration Load (0.4ms)  SELECT  "inspirations".* FROM "inspirations" WHERE "inspirations"."id" IS NULL LIMIT 1
  Rendered inspirations/_form.html.erb (4.1ms)
  Rendered inspirations/new.html.erb within layouts/modal (5.9ms)
Completed 200 OK in 49ms (Views: 41.9ms | ActiveRecord: 0.7ms)
_形式


#如果URL中不存在名称,则应触发
等
例如,当URL包含字符串时:

http://www.livetochallenge.com/inspirations/new?inspiration%5Bname%5D=Life+如果+我+有+源代码+代码,会更简单。

但我经常使用URL缩短器

不适合我:

试试这个:

<%= simple_form_for(@inspiration) do |f| %> 
  <%= f.text_area :name %>
  <% if params[:inspiration].try(:[], :name).nil? %> # Should Be Triggered If No :name Is Present in URL
    etc...
  <% end %>
<% end %>

#如果URL中不存在名称,则应触发
等

仅当存在后面的参数时,才会检查参数[:inspiration]中的:name。因此,不应出现错误。

您可以使用避免错误


你试过
参数[:inspiration][:name]
而不是
参数[:name]
吗?啊,我试过
:inspiration\u name
,但不是那样。我想这可能行得通,但我得到了一个
ActionView::Template::Error(nil:NilClass的未定义方法“[]”):
Error。你能提供一个答案,这样我就可以给你@Pavan评分了吗?
params[:inspiration][:name]
触发了这个错误?Yea@Pavan。我明白了。谢谢你的帮助!