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。我明白了。谢谢你的帮助!