Rails 4 NoMethodError

时间:2014-02-16 16:19:15

标签: ruby-on-rails-4

我遇到了问题而我并不了解它。 我有这个错误:

“test”的未定义方法“value”:String

在这里我的观点:

<div id="search">
    <%= form_for :search, url: search_path do |f| %>
    <%= f.text_field :value, :class => 'form-control input-sm', :placeholder => 'Search...' %>
    <%= button_tag '<i class="fa fa-search"></i>'.html_safe, :id => 'search-btn', :class => 'btn' %>
    <% end %>   
</div>

在这里我的控制器:

def index
    @clubs = Club.all
    @search = params[:search][:value]
end

我认为问题在于如何捕获我的变量:value但我不知道如何修复它。

由于

1 个答案:

答案 0 :(得分:0)

一个简单的想法是text_field有一个:value参数来设置默认值。

尝试将值更改为其他内容

<%= form_for :search, url: {} do |f| %>
  <%= f.text_field :keywords, :value => params[:keywords], :class => 'form-control input-sm',      :placeholder => 'Search...' %>
  <%= button_tag '<i class="fa fa-search"></i>'.html_safe, :id => 'search-btn', :class => 'btn' %>
<% end %>

然后

@search = params[:search][:keywords]